Quick actions

cmd+k|ctrl+k

Navigation

Languages

some subspace or whatever

Snippet info

Language

Lua

Visibility

public

Author

hmmx1

Created

2025-04-29T11:46:44.242855Z

Updated

2025-04-29T11:46:44.242855Z

-- [[ SETUP ]] --

local LoadAssets = LoadAssets or require

local templates

local success, e = pcall(function()
	templates = LoadAssets(13282899978):Get("Templates")
end)

if not success then
	do
		local function Decode(str)
			local StringLength = #str

			-- Base64 decoding
			do
				local decoder = {}
				for b64code, char in pairs(('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='):split('')) do
					decoder[char:byte()] = b64code-1
				end
				local n = StringLength
				local t,k = table.create(math.floor(n/4)+1),1
				local padding = str:sub(-2) == '==' and 2 or str:sub(-1) == '=' and 1 or 0
				for i = 1, padding > 0 and n-4 or n, 4 do
					local a, b, c, d = str:byte(i,i+3)
					local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d]
					t[k] = string.char(bit32.extract(v,16,8),bit32.extract(v,8,8),bit32.extract(v,0,8))
					k = k + 1
				end
				if padding == 1 then
					local a, b, c = str:byte(n-3,n-1)
					local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40
					t[k] = string.char(bit32.extract(v,16,8),bit32.extract(v,8,8))
				elseif padding == 2 then
					local a, b = str:byte(n-3,n-2)
					local v = decoder[a]*0x40000 + decoder[b]*0x1000
					t[k] = string.char(bit32.extract(v,16,8))
				end
				str = table.concat(t)
			end

			local Position = 1
			local function Parse(fmt)
				local Values = {string.unpack(fmt,str,Position)}
				Position = table.remove(Values)
				return table.unpack(Values)
			end

			local Settings = Parse('B')
			local Flags = Parse('B')
			Flags = {
				--[[ValueIndexByteLength]] bit32.extract(Flags,6,2)+1,
				--[[InstanceIndexByteLength]] bit32.extract(Flags,4,2)+1,
				--[[ConnectionsIndexByteLength]] bit32.extract(Flags,2,2)+1,
				--[[MaxPropertiesLengthByteLength]] bit32.extract(Flags,0,2)+1,
				--[[Use Double instead of Float]] bit32.band(Settings,0b1) > 0
			}

			local ValueFMT = ('I'..Flags[1])
			local InstanceFMT = ('I'..Flags[2])
			local ConnectionFMT = ('I'..Flags[3])
			local PropertyLengthFMT = ('I'..Flags[4])

			local ValuesLength = Parse(ValueFMT)
			local Values = table.create(ValuesLength)
			local CFrameIndexes = {}

			local ValueDecoders = {
				--!!Start
				[1] = function(Modifier)
					return Parse('s'..Modifier)
				end,
				--!!Split
				[2] = function(Modifier)
					return Modifier ~= 0
				end,
				--!!Split
				[3] = function()
					return Parse('d')
				end,
				--!!Split
				[4] = function(_,Index)
					table.insert(CFrameIndexes,{Index,Parse(('I'..Flags[1]):rep(3))})
				end,
				--!!Split
				[5] = {CFrame.new,Flags[5] and 'dddddddddddd' or 'ffffffffffff'},
				--!!Split
				[6] = {Color3.fromRGB,'BBB'},
				--!!Split
				[7] = {BrickColor.new,'I2'},
				--!!Split
				[8] = function(Modifier)
					local len = Parse('I'..Modifier)
					local kpts = table.create(len)
					for i = 1,len do
						kpts[i] = ColorSequenceKeypoint.new(Parse('f'),Color3.fromRGB(Parse('BBB')))
					end
					return ColorSequence.new(kpts)
				end,
				--!!Split
				[9] = function(Modifier)
					local len = Parse('I'..Modifier)
					local kpts = table.create(len)
					for i = 1,len do
						kpts[i] = NumberSequenceKeypoint.new(Parse(Flags[5] and 'ddd' or 'fff'))
					end
					return NumberSequence.new(kpts)
				end,
				--!!Split
				[10] = {Vector3.new,Flags[5] and 'ddd' or 'fff'},
				--!!Split
				[11] = {Vector2.new,Flags[5] and 'dd' or 'ff'},
				--!!Split
				[12] = {UDim2.new,Flags[5] and 'di2di2' or 'fi2fi2'},
				--!!Split
				[13] = {Rect.new,Flags[5] and 'dddd' or 'ffff'},
				--!!Split
				[14] = function()
					local flags = Parse('B')
					local ids = {"Top","Bottom","Left","Right","Front","Back"}
					local t = {}
					for i = 0,5 do
						if bit32.extract(flags,i,1)==1 then
							table.insert(t,Enum.NormalId[ids[i+1]])
						end
					end
					return Axes.new(unpack(t))
				end,
				--!!Split
				[15] = function()
					local flags = Parse('B')
					local ids = {"Top","Bottom","Left","Right","Front","Back"}
					local t = {}
					for i = 0,5 do
						if bit32.extract(flags,i,1)==1 then
							table.insert(t,Enum.NormalId[ids[i+1]])
						end
					end
					return Faces.new(unpack(t))
				end,
				--!!Split
				[16] = {PhysicalProperties.new,Flags[5] and 'ddddd' or 'fffff'},
				--!!Split
				[17] = {NumberRange.new,Flags[5] and 'dd' or 'ff'},
				--!!Split
				[18] = {UDim.new,Flags[5] and 'di2' or 'fi2'},
				--!!Split
				[19] = function()
					return Ray.new(Vector3.new(Parse(Flags[5] and 'ddd' or 'fff')),Vector3.new(Parse(Flags[5] and 'ddd' or 'fff')))
				end
				--!!End
			}

			for i = 1,ValuesLength do
				local TypeAndModifier = Parse('B')
				local Type = bit32.band(TypeAndModifier,0b11111)
				local Modifier = (TypeAndModifier - Type) / 0b100000
				local Decoder = ValueDecoders[Type]
				if type(Decoder)=='function' then
					Values[i] = Decoder(Modifier,i)
				else
					Values[i] = Decoder[1](Parse(Decoder[2]))
				end
			end

			for i,t in pairs(CFrameIndexes) do
				Values[t[1]] = CFrame.fromMatrix(Values[t[2]],Values[t[3]],Values[t[4]])
			end

			local InstancesLength = Parse(InstanceFMT)
			local Instances = {}
			local NoParent = {}

			for i = 1,InstancesLength do
				local ClassName = Values[Parse(ValueFMT)]
				local obj
				local MeshPartMesh,MeshPartScale
				if ClassName == "UnionOperation" then
					obj = DecodeUnion(Values,Flags,Parse)
					obj.UsePartColor = true
				elseif ClassName:find("Script") then
					obj = Instance.new("Folder")
					Script(obj,ClassName=='ModuleScript')
				elseif ClassName == "MeshPart" then
					obj = Instance.new("Part")
					MeshPartMesh = Instance.new("SpecialMesh")
					MeshPartMesh.MeshType = Enum.MeshType.FileMesh
					MeshPartMesh.Parent = obj
				else
					obj = Instance.new(ClassName)
				end
				local Parent = Instances[Parse(InstanceFMT)]
				local PropertiesLength = Parse(PropertyLengthFMT)
				local AttributesLength = Parse(PropertyLengthFMT)
				Instances[i] = obj
				for i = 1,PropertiesLength do
					local Prop,Value = Values[Parse(ValueFMT)],Values[Parse(ValueFMT)]

					-- ok this looks awful
					if MeshPartMesh then
						if Prop == "MeshId" then
							MeshPartMesh.MeshId = Value
							continue
						elseif Prop == "TextureID" then
							MeshPartMesh.TextureId = Value
							continue
						elseif Prop == "Size" then
							if not MeshPartScale then
								MeshPartScale = Value
							else
								MeshPartMesh.Scale = Value / MeshPartScale
							end
						elseif Prop == "MeshSize" then
							if not MeshPartScale then
								MeshPartScale = Value
								MeshPartMesh.Scale = obj.Size / Value
							else
								MeshPartMesh.Scale = MeshPartScale / Value
							end
							continue
						end
					end

					obj[Prop] = Value
				end
				if MeshPartMesh then
					if MeshPartMesh.MeshId=='' then
						if MeshPartMesh.TextureId=='' then
							MeshPartMesh.TextureId = 'rbxasset://textures/meshPartFallback.png'
						end
						MeshPartMesh.Scale = obj.Size
					end
				end
				for i = 1,AttributesLength do
					obj:SetAttribute(Values[Parse(ValueFMT)],Values[Parse(ValueFMT)])
				end
				if not Parent then
					table.insert(NoParent,obj)
				else
					obj.Parent = Parent
				end
			end

			local ConnectionsLength = Parse(ConnectionFMT)
			for i = 1,ConnectionsLength do
				local a,b,c = Parse(InstanceFMT),Parse(ValueFMT),Parse(InstanceFMT)
				Instances[a][Values[b]] = Instances[c]
			end

			return NoParent
		end


		templates = Decode('AFQXBiEGRm9sZGVyIQROYW1lIQlUZW1wbGF0ZXMhC1ByaW1hcnlCb21iIQRQYXJ0IQdTdGFydHVwIQhBbmNob3JlZCIhDUJvdHRvbVN1cmZhY2UDAAAAAAAAAAAhCkJyaWNrQ29sb3IHTwEhBkNGcmFtZQQXAM8F0AUhCkNhbkNvbGxpZGUCIQVDb2xvcgbn5+whCE1hc3NsZXNzIQtPcmllbnRhdGlvbgoAALRCAAAAAAAAAAAhCFBvc2l0aW9uCnOuFMNkGa1B1kFIwyEIUm90YXRpb24hBFNpemUKMsrxP43izD/8g/4/IQpUb3BTdXJmYWNlIQxUcmFuc3BhcmVuY3kDAAAAAAAA8D8hCkF0dGFjaG1lbnQhD1BhcnRpY2xlRW1pdHRlciEETG9uZygCAAAAAP9UAAAAgD//VAAhBERyYWcDAAAAAAAAIkAhEUVtaXNzaW9uRGlyZWN0aW9uAwAAAAAAABRAIQdFbmFibGVkIQhMaWZldGltZRHNzMw+zczMPiENTGlnaHRFbWlzc2lvbiEEUmF0ZREAALRCAAC0QikDAAAAAAAA'
			..'IEEAAAAATYf2PgAAIEEAAAAAAACAPwAAAAAAAAAAIQVTcGVlZBEAAIA/AACAPyEHVGV4dHVyZSEYcmJ4YXNzZXRpZDovLzEwNjU2NTk0NTY5KQUAAAAAAACAPwAAAACdUGM9AAAAAAAAAACamRk/AAAAAAAAAABtqV8/mplhPwAAAAAAAIA/AACAPwAAAAAhB1pPZmZzZXQDAAAAAAAAAEAhBVdvcmRzKAMAAAAA////jDHIPiIiIgAAgD8AAAADAAAAAAAALkADAAAAAAAACEARzcxMP83MTD8pBQAAAAAAAAAAAAAAAPZNcD0AAChAAAAAAD4DCj4AAMA/AAAAAD0Klz4AAEBAAAAAAAAAgD8AAEBAAAAAABEAAAxCAAAMQiEYcmJ4YXNzZXRpZDovLzEwODI3MDYzODM2KQQAAAAAAAAAAAAAAAA3xEA/AAAAAAAAAAAGLmM/mpn5PpqZ+T4AAIA/AACAPwAAAAAhDEV4cGxvc2lvbk9MRAQ/AM8F0AUKn9tUwxg1F8BCLTzDIQpQb2ludExpZ2h0IQpCcmlnaHRuZXNzBv9VACEH'
			..'U2hhZG93cyEFUmFuZ2UDAAAAAAAANUAhDEJ1cm5pbmdBc2hlcyEMQWNjZWxlcmF0aW9uCgAAAAAAAKBAAAAAABEAAABAAAAAQCEOTGlnaHRJbmZsdWVuY2UDAAAAAABAX0AhCFJvdFNwZWVkEQAAcMEAgD9EEQAAtMMA4JxEKQQAAAAA8gydQAAAAABDkoQ9vrygQAAAAABPkpY+DoSQPwAAAAAAAIA/AAAAAAAAAAARAABwQgAAcEIhC1NwcmVhZEFuZ2xlCwDACkQAwArEIRhyYnhhc3NldGlkOi8vMTA3NTM0MDk5NzUhCVRpbWVTY2FsZQMAAAAAAADgPykDAAAAAAAAAAAAAAAA4Ey0PpqZmTyamZk8AACAPwAAAAAAAAAAIRNWZWxvY2l0eUluaGVyaXRhbmNlAwAAAGBp0gVAIQVTcGVjcygDAAAAAP9UAJtYHD8NBAAAAIA/AAAAAwAAAAAAACRAEQAAQD8AAEA/AwAAAAAA4G9AKQUAAAAAAAAAAAAAAAAmMS08AAA0QAAAAADvyYM+AAAgQAAAAACis9Q+AAAgPwAAAAAA'
			..'AIA/AAAAAAAAAAARAAAWQwAAFkMLAAC0QwAAtEMhGHJieGFzc2V0aWQ6Ly8xMDgwMjQ0Mzg5MiEGU3BhcmsyKAMAAAAA/2IamdQQPygPBAAAgD8AAAARMzOzPpqZmT8DAAAAAAAAaUARAABIwgAASEIRAAC0wwAAtEMpAgAAAAAAACBBAAAAAAAAgD9SVQVBAAAAABEAAMhBAAAMQgsAALTDAAC0QyEYcmJ4YXNzZXRpZDovLzEwNzUzNzcxNjk2KQIAAAAAmpnZPgAAAAAAAIA/AACAPwAAAAAhBVNwYXJrKAMAAAAA/zgFTpnzPjILAQAAgD8AAAARAAD6QgAA+kIhGHJieGFzc2V0aWQ6Ly8xMDc1Mzc3MDczNSkFAAAAAAAAAAAAAAAAguUYPzMzGz8AAAAAe6NiPzMzYz8AAAAA/+tsP5qZaT8AAAAAAACAPwAAgD8AAAAAAwAAAAAAAAxAIQVTbW9rZSgFAAAAAP9UADkNUT5GFwCkGYM+GwkABeHCPgkDAAAAgD8AAAApAgAAAAAAACBBAAAAAAAAgD8AACBBAAAAABEAADRC'
			..'AAA0QikDAAAAAGZm9j4AAAAA/DgCPwAAAAAAAAAAAACAPwAAgD8AAAAAAwAAAAAAAOC/IQVSb2NrcwoAAAAAAAA0wgAAAAAoAgAAAAD/zLEAAIA//8yxEQAAoEAAAKBAAwAAAAAAMHZAKQIAAAAAAAAQPwAAED8AAIA/AAAAAAAAAAARAACqQgAAqkILAAC0QwAAyEQhFnJieGFzc2V0aWQ6Ly82MjY1ODg5MzYpBAAAAAAAAIA/AAAAAPMrzD0AAAAAAAAAAKWeaT8AAAAAAAAAAAAAgD8AAIA/AAAAACEJUGFydGljbGU0CgAAAAAAAHDCAAAAACgDAAAAAP9WFHuIpj4AAAAAAIA/AAAAAwAAAAAAADlAAwAAAAAAWIFAEQAAtMIAALRCKQsAAAAAAAAgQQAAAABKd7w8GlHqQAAAAACc4Fs9q5XTQAAAAAAYmNU9qtTYQAAAAAAzxCE+GZDvQAAAAADToZM+AAAEQQAAAAD6mco+AAANQQAAAAAq4hA/AAASQQAAAADwpD0/AAAUQQAAAAATfFs/AAAWQQAAAAAAAIA/AAAWQQAA'
			..'AAARAACvQwAAr0MLAADIQQAAyEEpCQAAAACKPkM/AAAAAGh3KD7yJnc/AAAAAOcdrz72l3U/AAAAAAPqGT8x630/AAAAAJ/KNT/K4Hw/AAAAANkHST8AAIA/AAAAAKxyXT8AAIA/AAAAAAgefz8AAIA/AAAAAAAAgD8AAIA/AAAAACEJUGFydGljbGUzCgAAAAAAAFxCAAAAACgCAAAAAAAAAAAAgD9BPz0DAAAAAACARkARAABAQAAAQEARAACgQQCA40MLAAAAAADACkQhGHJieGFzc2V0aWQ6Ly8xMDgwMjQ4NDU4NSkJAAAAAAAAAAAAAAAAdegkPnwMTj8AAAAA5x2vPvaXdT8AAAAAA+oZPzHrfT8AAAAAn8o1P8rgfD8AAAAA2QdJPwAAgD8AAAAArHJdPwAAgD8AAAAACB5/PwAAgD8AAAAAAACAPwAAgD8AAAAAAwAAAAAAgEtAIRBMYXJnZXIgUGFydGljbGVzKAIAAAAAAAAAAACAPwAAABEAAOBAAADgQAMAAAAAAECPQCkDAAAAAJZZ1D4AAAAAPunsPvzEAT8AAAAA'
			..'AACAPwAAAAAAAAAAEQAAlkIAAJZCISpodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcyOTQ0NzkyMzUpAwAAAAAAAAAAAAAAABHfST+RX0c/AAAAAAAAgD8AAIA/AAAAAAoAAAAAAABAQAAAAAARAACAPwAAQEADAAAAAAAAFMARAIDAwwDAPEQLAAC0QwAAtMMhKmh0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9NzQ4MjA1MzcwOCkEAAAAAAAAgD8AAAAAksvPPkJDHz+amZk8hUN3P+bKdD+qqI86AACAP9zXcT8AAAAACgAAAAAAAMjBAAAAAAMAAADgehQIQBEAAO5CAADuQgsAADRDAAA0QyEYcmJ4YXNzZXRpZDovLzEwNzY1NDk4Nzg3EQAAyMIAAMhCCwAAAAAAADRDISpodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTc0NTE4MjU5MzIRAAB/wwCAP0QhBkZsYXJlMhEAAIA+AACAPiEMTG9ja2VkVG9QYXJ0EQAAL8QAALRDKQMAAAAA'
			..'AAAgQQAAAABfROs+b1I7QgAAAAAAAIA/YLZfQgAAAAARCtcjPArXIzwhGHJieGFzc2V0aWQ6Ly8xMDcxMjYzNzUzNykDAAAAAAAAAAAAAAAARiMPPwAAAAAAAAAAAACAPwAAgD8AAAAAKAMAAAAA/1QAxsNDPysOAAAAgD8AAAARAAAWwwAAekMpAwAAAAAAACBBAAAAAL6IVj5mJjtCAAAAAAAAgD/H6TxCAAAAACEYcmJ4YXNzZXRpZDovLzEwNzY2MjgyNDM0ETMzsz4zM7M+IRhyYnhhc3NldGlkOi8vMTA3NzY0NzQzNjQhBE1hcmspAgAAAAAAAKBBAAAAAAAAgD8AAKBBAAAAACEYcmJ4YXNzZXRpZDovLzEwNzI4NDgzNTYyEQAAgEAAAIBAIRhyYnhhc3NldGlkOi8vMTA3MDAxNzAxNDgRLbIdPi2yHT4hGHJieGFzc2V0aWQ6Ly8xMDcwMDEzNDM2MwTFAM8FKwQKAAAAAAAAAAAAAABAKAMAAAAA/1QAsDhAPxoIAAAAgD8AAAARAADAPwAAwD8pAwAAAAAAAAAAAAAA'
			..'AKeVQj0AACBBAAAAAAAAgD8AACBBAAAAACEYcmJ4YXNzZXRpZDovLzEwODA1NDU2MTE1IQlFeHBsb3Npb24EzADPBdAFCp/bVMPg3Yq/Qi08wwoyyvE/zMzMPxOShEARAABIQwAASEMhGHJieGFzc2V0aWQ6Ly8xMDg3OTk0MDc1OBEAAAA/AAAAPygDAAAAAP9UAEP+wT5IGAAAAIA/AAAAEWZmpj9mZqY/IRhyYnhhc3NldGlkOi8vMTA4Nzc0OTUxNTYhGHJieGFzc2V0aWQ6Ly8xMDg3OTkzNDY0NQTWAM8FKwQKAAAAAAAAAADJxhzBKQIAAAAAAABwQQAAAAAAAIA/AABwQQAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg3NTQ4ODc4NCkCAAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAwAAAAAAAChAKQIAAAAAAABAQQAAAAAAAIA/AABAQQAAAAALAACgQAAAoEAhGHJieGFzc2V0aWQ6Ly8xMDY2OTE1NDA3OSkDAAAAAAAAAAAAAAAAUvAkP2Zmfj8AAAAAAACAPwAAgD8AAAAA'
			..'AwAAAAAAAPC/IQtUcmFpbERlYnJpcwTjAM8FKwQhEENvbGxpc2lvbkdyb3VwSWQKN/ZIw/AjqEGijDbDCkAh6z8ArT8/AEFVPyEBMQTnAM8FKwQK6TNrP+SRaz4APIi+IQVUcmFpbCEGQkxBQ0syIQtBdHRhY2htZW50MCELQXR0YWNobWVudDEoAwAAAAD/VADsTSg/EgYAAACAPwAAACEKRmFjZUNhbWVyYSEYcmJ4YXNzZXRpZDovLzEwNzIzNzk5MDkxIQ1UZXh0dXJlTGVuZ3RoAwAAAAAAABhAIQtUZXh0dXJlTW9kZSkEAAAAAAAAgD8AAAAAzcxMPgAAAAAAAAAAHt9GPwAAAAAAAAAAAACAPwAAgD8AAAAAIQpXaWR0aFNjYWxlKQMAAAAAAACAPwAAAACJ6gE/MzNrPwAAAAAAAIA/ZmZOPwAAAAADAAAAAAAA0D8hGHJieGFzc2V0aWQ6Ly8xMDY3MzQxMTY1MwT4AM8FKwQKfqxmv3zxFT4AAIG+IQVBc2hlcwoAAAAAAACAvwAAAAAoAwAAAAD/VADsTSg/IAoAAACA'
			..'PwAAABFmZiY/ZmYmPxEAAAzCAADIQREAAPDCAADwQikEAAAAAAAAAD8AAAAA2FwaPQAAQD8AAEA/s32QPgAAwD4AAMA+AACAPwAAAAAAAAAAEc3MzD3NzMw9CwAASEMAAEhDIRhyYnhhc3NldGlkOi8vMTA2ODI4NjQ4MDIpAwAAAAAAAIA/AAAAAM3MzD0AAAAAAAAAAAAAgD8AAAAAAAAAACEJRW1pdENvdW50AwAAAAAAgEFAIQZBc2hlczIKAAAAAM3MTD8AAAAAKAIAAAAA/1QAAACAPwAAACEYcmJ4YXNzZXRpZDovLzEwNjU3OTc5NDkyIQZBc2hlczMoAwAAAAD/VADY8Q8/HAkAAACAPwAAAAMAAAAAAAAgQBEAAEjDAABIQykDAAAAAAAAAAAAAAAASx/aPQAAYD8AAAAAAACAPwAAAAAAAAAACwAADEIAAAxCIRhyYnhhc3NldGlkOi8vMTA2NzI3NjEwNDApAwAAAAAAAAAAAAAAABFxMz8AAAAAAAAAAAAAgD8AAIA/AAAAACEJRW1pdERlbGF5IQZBc2hlczQpAwAA'
			..'AAAAAAAAAAAAAGlX4T0AABA/AAAAAAAAgD8AAAAAAAAAACkDAAAAAAAAgD8AAAAAumvhPgAAoD4AAKA+AACAPwAAAAAAAAAAIQdFZmZlY3RzIQhIZWF2eUhpdAQZAc8FKwQK/xgww95JqUGwjwDDCgAAgD8AAIA/AACAPygCAAAAAP9UfgAAgD8AAAApBAAAAADNzEw9AAAAAAq4jD0AAKg/AAAAAAzmLz4AAAA+AAAAAAAAgD8AAAAAAAAAABEAAMhBAADIQSEDSGl0KAIAAAAA/6r/AACAP/+q/xHNzEw+MzOzPhEAAKDAAACgQCkEAAAAAAAAAAAAAAAANUUAPgAAID8AAAAA5PemPgAAWEAAAAAAAACAPwAAgEAAAAAACwAAoEAAAKDAIRhyYnhhc3NldGlkOi8vMTA4NDM2ODIxODUpBAAAAAAAAIA/AAAAAFbS2j4K8x4+AAAAAAAAQD/NzCQ/AAAAAAAAgD8AAIA/AAAAACgCAAAAAP3/eQAAgD//VP8RAAB6wwAAesMpBAAAAAAAAAAAAAAAAHxjCD4AAOA/AAAAAKNW4D4A'
			..'AKJAAAAAAAAAgD8AAKBAAAAAACEYcmJ4YXNzZXRpZDovLzEwODQzMTAyODIxKQMAAAAAAACAPwAAAABw0QU/mplBPwAAAAAAAIA/AACAPwAAAAAoAwAAAAD/qv+HpkQ/GhEaAACAPwAAABFmZuY+ZmbmPiEYcmJ4YXNzZXRpZDovLzEwODIzODY0NTc1KQMAAAAAAAAAAAAAAABbC2M/AAAAAAAAAAAAAIA/AACAPwAAAAAoAgAAAAD/qv8AAIA/AAAAEWZm5j4AAIA/EQAAyMIAAH9DKQQAAAAAAAAAAAAAAADjVBs+AABwQAAAAACjVuA+AACiQAAAAAAAAIA/AACgQAAAAAARAAAAQQAAAEEpBAAAAAAAAIA/AAAAAKRSHD4AAAAAAAAAAFsLYz8AAAAAAAAAAAAAgD8AAIA/AAAAACkDAAAAAAAAAAAAAAAAzczMPQAAIEAAAAAAAACAPwAAIEAAAAAAIRhyYnhhc3NldGlkOi8vMTA4NDM3MDA5MTYpBAAAAAAAAIA/AAAAAOYfTT5mZgY/AAAAAESnAz/NzFQ/AAAAAAAAgD8A'
			..'AIA/AAAAACEFU2hvY2sDAAAAAAAAWUARAABexAAAL0QpAwAAAAAAAAAAAAAAAGecVj4AAExAAAAAAAAAgD8AAJZAAAAAABFPVP07T1T9OwMAAADAzMzkPykDAAAAAAAAAAAAAAAAB3yWPgAAUD8AAAAAAACAPwAAgD8AAAAAKAMAAAAAVAD/jznfPgwAJAAAgD8AAAARzcxMPs3MTD8RAACvwwAAr8MpAwAAAAAAAAAAAAAAAKJF9j4AAJhAAAAAAAAAgD8AAMJAAAAAACEYcmJ4YXNzZXRpZDovLzEwNzY1NjA3NDE3KQYAAAAAAACAPwAAAADZB8k9AACgPgAAAABA2oc+zcxMPAAAAABW0to+CvMePgAAAAA1CUI/X5pqPwAAAAAAAIA/AACAPwAAAAAhDHNwYXJrcyBzbWFsbCgCAAAAAP9UfgAAgD//VH4RMzOzPpqZGT8DAAAAAAAASUApBQAAAAAAAAAAAAAAAD6Ayz0AAKg/AACoP5KWej4AABA/rwnZPs3MTD8AAAA+AAAAPgAAgD8AAAAAAAAAABEAAKBBAABcQgsAAPBC'
			..'AADwwiEYcmJ4YXNzZXRpZDovLzEwODAyNDE1MTY0KQMAAAAAAAAAAAAAAACCkEw/AAAAAAAAAAAAAIA/AACAPwAAAAAKAAAAAAAAwMAAAAAAKQUAAAAAAAAAAAAAAABmv849AAC4PwAAuD+qRGk+AABAPwAAQD/NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAARAACgQQAAIEIhGHJieGFzc2V0aWQ6Ly8xMDYzNDc0MTI3OCEITGlnaHRIaXQEVAHPBSsECqs1LsMK8qlBxIoAwyEIQmlnU3RhcnMDAAAAAACAKkARAACAPs3MDD8DAAAAoJmZ2T8pBgAAAAAbnoo/wCXgPkP1oD0AACBBAAAAAKc7fz4AAFRAB30pPu31/j4AABA/zAnaPa9gTz8lkQ0+qn4FPQAAgD8AAAAAAAAAACkEAAAAAAAAgD8AAAAAzAfkPgAAAAAAAAAAiZVlPwAAAAAAAAAAAACAP/G9dz8AAAAAKQMAAAAAAAAAAAAAAAD0/ZQ+9ig8QAAAAAAAAIA/AAA8QAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg0MzEy'
			..'NDc2MykDAAAAAAAAAAAAAAAAWoH5PjMzSz8zM1M+AACAPwAAgD8AAAAAETMzsz4AAAA/KQQAAAAAAAAAAAAAAAD0/dQ9AAAAPwAAAD/NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAAhC0JvbWJQbGFudGVkBGIBzwUrBArx+ivDPCWpQWiIAMME0QXPBdIFCgAAtMIAAACAAAAAACEIU3BlY3MgMjAKAAAAAAAAcMEAAAAAAwAAAAAAABBAEc3MzD5mZmY/KQMAAAAAAAAAAAAAAACDotk9AAAAPwAAAD8AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDc2NjAzMzY3OQMAAAAAAADoPxGamZk/mpmZPygDAAAAAP9Ufo853z4MACQAAIA/AAAAETMzsz4zMzM/KQUAAAAAAAAAAAAAAACfAcU9AADAPwAAwD/KF3Q+AADAPgAAwD7NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDgwMjQ5NjA4MCgDAAAAAP9UfjeK5D7/VAAAAIA/AAAAEc3MTD4AAABA'
			..'KQMAAAAAAAAAAAAAAADJdj4+FK5XQAAAAAAAAIA/AABYQAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg0NzY3ODAyOSgCAAAAAFQA/wAAgD9UAP8pAwAAAAAAAAAAAAAAADnSST4AAIxAAAAAAAAAgD8AAKZAAAAAACEYcmJ4YXNzZXRpZDovLzEwODQ3MzA1MDUwKQMAAAAAAACAPwAAAAAAAEA/zcwkPwAAAAAAAIA/AACAPwAAAAARKVwPPylcDz8hBlN3aXJscxEAAHpEAAB6RBEAADTDAAA0QykEAAAAAAAANEAAAAAAsDdBPgAAoD8AAAAASUv9PgAAQD4AAAAAAACAPwAAAAAAAAAAEcH4BTvB+AU7IRhyYnhhc3NldGlkOi8vMTA4NDM2ODE2MDUoAgAAAAD/AAAAAIA/AAAAKQIAAAAAAAAAQAAAAAAAAIA/AAAAQAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg0MzY3OTY1OBEAAEjDAABIwyEYcmJ4YXNzZXRpZDovLzEwODAyNDc5ODQ1ETMzsz4AAIA/KQUAAAAAAAAAAAAAAAC4'
			..'x6c9AAAwPwAAMD/KF3Q+AADAPgAAwD7NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAARAACgQQAAlkIhGHJieGFzc2V0aWQ6Ly8xMDg0NDMzNDE5MigGAAAAAP8AflT9oj7/VH7S4eE+/1QAyXUbP1QA/7jLWj8RADoAAIA/AAAAEWZm5j6amZk/AwAAAKCZmbm/EQAAIMAAACDAKQQAAAAAAAAYQAAAAABB8s49AACwPwAAsD/8iWo+AAAgQAAAAAAAAIA/AAAUQAAAAAARAABcQgAAlkIhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTA4NTIwNzk0MjUpBQAAAAAAAIA/AAAAAKSlcjwAAAAAAAAAAGYVHj8AAAAAAAAAAC2Vaz8zM4M+AAAAAAAAgD8AAIA/AAAAAAMAAAAgXI/6PyEDQXJtBJQBzwUrBApPJkLDRrCnQTyaHsMKgOFDPzDCIj8ALCg/BJcBzwUrBAo/Nd4+x0s3vgrXo7shBlRyYWlsMSgCAAAAAP8ABAAAgD//O1QEmwHPBSsECgCH6b6PSze+AACk'
			..'uyEGU3RhcnMxKAIAAAAAVKr/AACAPw0E/ykEAAAAABueij/AJeA+SJScPQAAMD/p8Ws+0xXsPgAAB0EAAAAAAACAPwAAIEEAAAAAIRhyYnhhc3NldGlkOi8vMTA3MDY1MjcxNjkpAwAAAAAAAIA/AAAAAJ0u+z7CM30/AAAAAAAAgD8AAIA/AAAAACEGU3RhcnMyKAIAAAAAMWD/AACAP1Sq/xFmZiY/AAAAQBEAAMjBAADIQSkCAAAAAAAAoD8AAKA/AACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTA3MTI1OTcxNTIpAwAAAAAAAIA/AAAAAO+RzT2MDzM8AAAAAAAAgD8AAAAAAAAAACEGU3RhcnM0CgAAAAAAAKDAAAAAABFmZiY/AADAPykDAAAAABueij/AJeA+Mie+PQAA4D7p8Ws+AACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTA3MTIzNjczOTAhBVBsYW50B/kDBLIB0AUrBAb/qgAKAAAAAAAAtMIAAAAACvNsGcPQSDM/fr94wyEFR2xvdzEoAgAAAAD/dxcA'
			..'AIA//3cXAwAAAEAzM8M/KQIAAAAAAACAQAAAAAAAAIA/AACAQAAAAAARAAAAAAAAAAAhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTA4NDMwODY0MTkpBAAAAABmZnY/AAAAAOYfTT4AAHg/AAAAAOeptj5mZpY+AAAAAAAAgD8AAIA/AAAAACEETGluZRHNzEw+zcxMPikEAAAAABzT3z8AAAAASmLRPnLepz4AAAAA8bhMPwAAAAAAAAAAAACAPwAAAAAAAAAAEW8SgzpvEoM6ISpodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTY4NjUyMjI5NTcpBAAAAAAAAAAAAAAAACpTFD8AAAAAAAAAAO4/Qj9mZmY/AAAAAAAAgD8AAIA/AAAAACEFTGluZTIpBgAAAAAAAIBAAAAAAM3MTD42yPA/AAAAAM3MzD6qK5M/AAAAAJqZGT+cxSs/AAAAAM3MTD+/0Z4+AAAAAAAAgD8AAAAAAAAAACEFTGluZTMoAgAAAAD/VP8AAIA//1T/EWZm5j7NzEw/EQAA'
			..'r8MAAK9DKQQAAAAAAACgQAAAAAA3/F4+AADYPwAAAABbC+M+AAAgPwAAAAAAAIA/AAAAAAAAAAAhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTA4NDM0NjYwMTkRAABIRAAASEQpBAAAAAAAAPpAAAAAAJS+ID4AAIxAAAAAAD3vtj4AAMA/AAAAAAAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwNzYyOTYyMzM2IQdDaXJjbGUzEZqZmT4zMzM/EQAAtMMAAIJDKQIAAAAAAABAQAAAAAAAAIA/AABAQAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDc4MjQ1MjM5MykEAAAAAAAAsD4AAAAA6+ZiPjMz8z4AAAAAhCs0P83MbD8AAAAAAACAPwAAgD8AAAAAIQdDaXJjbGUyKQIAAAAAAADAPwAAAAAAAIA/AADAPwAAAAAhGHJieGFzc2V0aWQ6Ly8xMDc2NTk4NDU1MyEFV2F2ZXMRAACAPgAAAD8pAwAAAAAAAAAAAAAAADscTT4AANA/AAAAAAAAgD8AAFRAAAAA'
			..'ACEraHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMDQ0NTU1MzE4NCkDAAAAAAAAAAAAAAAAiUMmPs3MbD8AAAAAAACAPwAAgD8AAAAAIQRSYXlzIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTEwNzc1ODgxOTUyKQQAAAAAAACAPwAAAADdYUM+AAAAAAAAAAD+YQM/zcxEPwAAAAAAAIA/AACAPwAAAAAhB0NpcmNsZTEhGHJieGFzc2V0aWQ6Ly8xMDgwMjQ1MDQ2NCkEAAAAAAAAgD8AAAAAQ1ilPpqZYT8AAAAAhCs0P83MbD8AAAAAAACAPwAAgD8AAAAAIQtDb3NtaWNTdGFycygFAAAAAP9UADeK5D7/VACqKTE//1T/qn5RP0sYSwAAgD8AAAADAAAAAAAABEADAAAAQDMz0z8pBAAAAAAAAAA+AAAAPtxtvT0AAEA+AABAPpxPtT4AAAA+AAAAPgAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwNjU2NTg4NDM0IQhEZXRvbmF0ZQToAdMF'
			..'KwQKAAAAAAAANEMAAAAAClcQJsNMsKdBMhM+wwoAADTDAAAAAAAANMMpAgAAAADNzEw9AAAAAAAAgD8AAAAAAAAAABEAAHBBAABwQSgCAAAAAP9U/wAAgD8AAAApAgAAAADNzMw9AAAAAAAAgD8AAAAAAAAAACEFU3RhcnMoAwAAAAD/VH6+MCk/IQsQAACAPwAAACkFAAAAABueij/AJeA+SJScPQAAMD/p8Ws+7fX+PgAAED/MCdo9r2BPPyWRDT6qfgU9AACAPwAAAAAAAAAAKQQAAAAAAACAPwAAAADMB+Q+AAAAAAAAAAA4EHI/AAAAAAAAAAAAAIA/8b13PwAAAAAE8wHPBSsECgAAAADgeiI+AAAAACkDAAAAAAAAAAAAAAAABFYOPuxRuD8AAAAAAACAPwAAuD8AAAAAKAMAAAAA/1R+yXUbPxoIDQAAgD8AAAADAAAAoJmZuT8pAgAAAAAAACBAAAAAAAAAgD8AACBAAAAAACEraHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMDg0NDI0Nzc5MSkFAAAAAAAA'
			..'gD8AAAAAjPb4PQAAAAAAAAAA6EzCPmZmNj8AAAAAhCs0P83MbD8AAAAAAACAPwAAgD8AAAAAKQUAAAAAAADwPwAAAACl9Jw9AABgPwAAAADufD8+16PwPwAAAADxZwA/AADIPwAAAAAAAIA/16PwPwAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg0NDMxMzE2NSkDAAAAAAAAAAAAAAAAW3wqPgAAuD8AAAAAAACAPwAAwD8AAAAAIRhyYnhhc3NldGlkOi8vMTA4NDM3ODg2ODQpBAAAAAAAALA+AAAAAINSnD4AAAAAAAAAAIQrND/NzGw/AAAAAAAAgD8AAIA/AAAAACgDAAAAAP9UfouHBz//ZZcAAIA//6r/KQQAAAAAAACAPwAAAADMB+Q+AAAAAAAAAAAwumg/MzMzPwAAAAAAAIA/8b13PwAAAAAhGHJieGFzc2V0aWQ6Ly8xMDgxNjY5NzgzNCgDAAAAAP9Ufj9yHz8YCAwAAIA/AAAAEc3MDD/NzAw/IRhyYnhhc3NldGlkOi8vMTA4NDQzNDcyODYhBURvbnV0B0gBBAoC0gUr'
			..'BAax5aYKAAAAAAAAtEIAAAAACh9BH8M+JalBjyz4wgqZmbk/AACAP4Cj0z8E0QXSBSsEIQVibG9vZAoAAAAAAAAgwgAAAAAoAgAAAABCAAEAAIA/QgABEc3MTD7NzMw+AwAAAAAAAG5AEQAAmEEAAJhBKQIAAAAAAADwPwAA8D8AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg0NDM4MzI4OCkEAAAAAAAAgD8AAAAAApXWPAAAAAAAAAAAElBNPwAAAAAAAAAAAACAPwAAgD8AAAAAAwAAAGBmZvY/KAIAAAAAVAAAAACAP1QAACkFAAAAAAAAAAAAAAAAIHnnPQAACEAAAAA+F9mmPgAAED8oDMI+zcxMPwAAAD4AAAA+AACAPwAAAAAAAAAAEQAAoEEAAPpCIRdyYnhhc3NldGlkOi8vODA4NTkwMDA0MyEGYmxvb2QyKAIAAAAA/wAAAACAP/8AACEYcmJ4YXNzZXRpZDovLzEwODQ0MzgxOTI5IQVMb25nMikGAAAAAAAAAAAAAAAAe91iPqnbNT8AAAAAwXKMPgAAIEEA'
			..'AAAAyO/NPgAAYEAAAAAA2SESPwAAUD8AAAAAAACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTA4NDQzNDA4MjIpBQAAAAAAAAAAAAAAAJqZGT8AAAAAAAAAAKHYKj8AAAA/AAAAAKTDTz9mZlY/AAAAAAAAgD8AAIA/AAAAACEFU2xhc2gRzcxMPpqZGT8pBAAAAAAAAAAAAAAAANUGRz4AAGA/LEkSP0DcET8AAIA+AACAPgAAgD8AAAAAAAAAABEAACBBAAAgQRHNzEw+AAAAPyEYcmJ4YXNzZXRpZDovLzEwNzI3NzEyOTU3IQhHdW4gc2hvdBHNzEw9mpmZPhEAAIdDAACHQykDAAAAAAAAAAAAAAAAFM9JP+VhlkAAAAAAAACAPwAAwD4AAAAAEQAASEIAAEhCIRhyYnhhc3NldGlkOi8vMTA4NDQzNTA3OTApBwAAAAAAAAAAAAAAAKX0nD0AAAA9AAAAAJoiwD4AAAAAAAAAAJmEAz8AAIA/AAAAAEYKNT8AAIA/AAAAAPzeZj+6a2U/AAAAAAAAgD8AAIA/AAAAABHNzMw+'
			..'zcxMPykGAAAAAAAAAAAAAAAA5zpNPgAArEAAAAAAEXGzPgAArEAAAAAALJ3vPgAAZEAAAAAA2SESPwAAUD8AAAAAAACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTAxNzYxMTAwNjIhCU9ubHlEb3RzMxEzMzM/MzMzPxEAAPrCAABIQykDAAAAAAAAAD8AAAA/MQmPPrpn3T26Z909AACAPwAAAAAAAAAAEQAANMIAADTCCwAANEMAAAAAIQlPbmx5RG90czIhGHJieGFzc2V0aWQ6Ly8xMDc2NjI5NTAzOSEGU2hvY2syIRhyYnhhc3NldGlkOi8vMTA3NzY3OTAxNDQpBAAAAAAAAAAAAAAAAAd8lj4AAFA/AAAAAM7iZT8AAGA/AAAAAAAAgD8AAIA/AAAAACEEc2hvdBHsUbg97FG4PSEraHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMDQ5MzU3MjMxNCkGAAAAAAAAgD8AAAAAGlDPPQAAAAAAAAAAmPYBPwAAAAAAAAAA2T5IP/ZFIj4AAAAA/N5mP7prZT8A'
			..'AAAAAACAPwAAgD8AAAAAIQVzaG90MiEJT25seURvdHMxCwAAAAAAADTDIRhyYnhhc3NldGlkOi8vMTA3NTM2MDk4MTYhDXNwYXJrcyBzbWFsbDEpAgAAAADNzMw9zczMPQAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwNzc2NDc3NDQ2IQ1zcGFya3Mgc21hbGwyKQYAAAAAAAAAAAAAAACJ7MM9AAAcQAAAAD6HToc+AADIPygMwj7P9vg+AACgPgAAoD7NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAAhDXNwYXJrcyBzbWFsbDMhDXNwYXJrcyBzbWFsbDQhCEJsb29kSGl0BE4C0gUrBApXYUnDPCXRQQKiMMMKAACAQAAAgD8AAABAKQQAAAAAAABQPwAAUD8m/DI+AACoP+dyJz+J6sU+AADAPgAAwD4AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDkwNDc0NTM5OSkFAAAAAAAAgD8AAAAAxli8PQAAAAAAAAAADfpCPwAAAAAAAAAAS+haPzMzEz8AAAAAAACAPwAA'
			..'gD8AAAAAKQUAAAAAAAAAAAAAAADKmrI9AACAPwAAgD9hjXM+AABQPwAAwD7NzEw/AAAAPgAAAD4AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDg5MTUwMzAwMxEAgLHDAMAKRCEEQml0cxEAAIA+63MtPwMAAAAAAMBSQCkEAAAAAATkCz9R3qc+PgMKPgAAEEAAABBA1v2jPgAAoD4AAKA+AACAPwAAAAAAAAAAEQAA8EEAAPBBIQ5FeHBsb3Npb25TbW9rZQoAAAAAAAA0QgAAAAAoAwAAAACVjIAjg+w+ERAPAACAPwAAAAsAAPBCAAAAACEYcmJ4YXNzZXRpZDovLzEwNzEyNjExMTk4KQQAAAAAAACAPwAAAAAxmD8+MzNLPwAAAABpj88+mplxPwAAAAAAAIA/AACAPwAAAAAhBUJsb29kKQIAAAAAAACgQAAAAAAAAIA/AACgQAAAAAApBwAAAAAAAAAAAAAAANEeHz8AAAAAAAAAALxYPD+amRk9AAAAAHstTD+amYk+AAAAAOT3Zj9mZjY/AAAAABBddD/NzGQ/AAAA'
			..'AAAAgD8AAIA/AAAAACkCAAAAAAAAQD4AAEA+AACAPwAAAAAAAAAAIQ5RdWFkQm9tYkZpbmlzaAfrAwRsAtMFKwQGERERIQtMZWZ0U3VyZmFjZSEITWF0ZXJpYWwDAAAAAABAlEAKF5oow/4SGkGSvi/DIQxSaWdodFN1cmZhY2UKAAAAQAAAAEAAAIA/KQQAAAAAAAAAAAAAAACXY4g9AADYPwAA2D9TPwM/AAAAPgAAAD4AAIA/AAAAAAAAAAARAAD6wgAA+kIpBAAAAAAAAAAAAAAAAIwmYTwAALA/AAAAAKKz1D4AACA/AAAAAAAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwOTU0NzMwNjY1AwAAAAAAQFBAKAMAAAAA/2IaIHtVPygPBAAAgD8AAAARmpkZP5qZGT8RAADIQQAAXEIoAwAAAAD/OAWbrTw/MgsBAACAPwAAACkCAAAAAAAAAD8AAAAAAACAPwAAAAAAAAAAKAIAAAAA/1YUAACAPwAAACkEAAAAAAAAAAAAAAAAFQcrPQAAUD8AAFA/Uz8DPwAAAD4AAAA+'
			..'AACAPwAAAAAAAAAAAwAAAAAAADRAKQQAAAAAAAAAAAAAAAABi5c8AADYPwAAuD+MFOo+AACAPgAAgD4AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDkyOTQ3Njg0NCgDAAAAAP9UAOPhYT8NBAAAAIA/AAAAKQQAAAAAAAAAAAAAAADzgr48AAC4PwAAuD+Eg9U+AACAPgAAgD4AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDk1NDE1ODMzOREAALTCAAC0wiEYcmJ4YXNzZXRpZDovLzEwOTU0MTYzNjk3IQZGbGFyZTEpAwAAAAAAAPA/AAAAAFA1ej4DCU9BAAAAAAAAgD+Rfk9BAAAAACEYcmJ4YXNzZXRpZDovLzEwNzc2NDcwNTIxIQZGbGFyZTQhGHJieGFzc2V0aWQ6Ly8xMDkyOTQ0ODk3MQMAAABgZmbmPykDAAAAAAAAAAAAAAAA8KJLP5qZiT4AAAAAAACAPwAAgD8AAAAAKAMAAAAA/1QAX5hUPxoIAAAAgD8AAAAhGHJieGFzc2V0aWQ6Ly8xMDc2NjI4'
			..'NDc5MREAAIA+AAAAQCkEAAAAAAAAcEEAAAAAZK4MPvYoaEEAAAAAk6oNPwrXE0AAAAAAAACAPwAAAAAAAAAAEQAAXEIAAFxCAwAAAKCZmQFAIQlUaHJvd01pbmUhC0JhY2tTdXJmYWNlBJQCzwUrBCEMRnJvbnRTdXJmYWNlCknuJMNGJbFBLAg/wwqn7eA/AACAP/R0RD8ElwLPBSsECgAAAADQJhC+6htOuygCAAAAAP8A9QAAgD//APUpBAAAAAAAABBAwCXgPu31/j4AABA/zAnaPa9gTz8lkQ0+qn4FPQAAgD8AAAAAAAAAABEAACBCAAAgQiEraHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMDk3NjQ3MjcwNCgDAAAAAP8A7ZKWFj82ADMAAIA/AAAAEQAAyEEAAJZCIQREb3RzKAMAAAAA/wDcjNwnPzsAOQAAgD8AAAARAAD6wgAAf0MpAwAAAAAAAOA+AAAAAHWTGD72KJRAAAAAAAAAgD8AAJRAAAAAACEYcmJ4YXNzZXRpZDovLzEwNjU3NzA1NzY2KQMA'
			..'AAAAAAAAAAAAAAAyk+A+AAAAAAAAAAAAAIA/8b13PwAAAAAoAwAAAAD/AN/B4gA/PwA5AACAPwAAACEYcmJ4YXNzZXRpZDovLzEwOTcxMjMyMjQ4KAMAAAAA/wDGVP0iPykAIwAAgD8AAAApAgAAAAAAAGBAAAAAAAAAgD8AAGBAAAAAACEYcmJ4YXNzZXRpZDovLzEwNjU3ODQyNDk0KQQAAAAAAAAAAAAAAAAyk+A+AAAAAAAAAAD2t1g/AAA4PwAAAAAAAIA/8b13PwAAAAAhB1dhcm5pbmcErALPBSsECq7CkMIY1lbAAdGfwyELRXhjbGFtYXRpb24hBCEoMikoAgAAAAD/XUIAAIA//11CIQQhKDEpKAIAAAAA/1tPAACAP/9bTxEAACDBAAAgQSkCAAAAAM3MzD4AAAAAAACAP83MzD4AAAAAIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTEwODQzMTE3NTYyKQYAAAAAAACAPwAAAABbfCo+MzMzPgAAAAC3Kpk+zcw8PwAAAAB2/+g+mplZPgAAAAA3xEA/'
			..'AAAAAAAAAAAAAIA/AACAPwAAAAAhCURvbnV0UHVsbAS4AtIFKwQKiYkYwz4lqUHirzrDIQlNb3JlQmxvb2QRzcxMPgAAgD8KAAAAAAAAAAAAAKBAIQVEZWF0aAS+As8FKwQKQ5cSw2I5tkFuskPDCoDx5D8ioYhAAAAAQAMAAAAAAAAcQBEAAH/DAAD6QikEAAAAAAAAAAAAAAAA2tlBPQAAID8AACA/Me2DPpX/fz2V/389AACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTA3MTgxMDMzMDMKAAAAAAAAAD8AAAAAEc3MDD8AAABAEc3MDD8zMxNAIRhyYnhhc3NldGlkOi8vMTA2ODI4NjI4NzQRzcwMPwAAIEAKAAAAAAAAIMEAAAAAKQQAAAAAAAAAAAAAAADa2UE9AAAgPwAAID8x7YM+AADAPgAAwD4AAIA/AAAAAAAAAAAhCU1pbmVUb3VjaATNAs8FKwQKLwAfw4JYpUHo+TPDCgBFLUBvEoM6OLETQCEFQml0czIoAgAAAAD/VAAAAIA//wAAEQAAgD4zM7M+KQIAAAAA'
			..'BOQLP1Hepz4AAIA/AAAAAAAAAAADAAAAAAAAMEApAgAAAAAAAIA/AAAAAAAAgD8AAAAAAAAAAAsAADRCAAA0QhEAgLHDAAD6QikDAAAAAAAAAAAAAAAAwcohPgAAAEAAAAAAAACAPwAAAEAAAAAAIQVCaXRzMREzM7M+AADAQCEFTW9kZWwhBE1pbmUhC1ByaW1hcnlQYXJ0IQpXb3JsZFBpdm90BNQFzwUrBCEITWVzaFBhcnQhBEJvbWIHNwEE5QLPBSsEBp+hrAMAAAAAAACRQAoHrS/D3CtLQVi/G8MKAADAPwAAwD8AAMA/IQZNZXNoSWQhFXJieGFzc2V0aWQ6Ly8xMTk1NDc3NiEITWVzaFNpemUKAABgQAAAYEAAAGBAIQlUZXh0dXJlSUQhFXJieGFzc2V0aWQ6Ly8xMTk1NDc2NiELUGxhbnRBdHRhY2gE7wLPBSsECgAAQD8AWlO9AJinPSgDAAAAAP8AJ5610z7/LC4AAIA//0VQAwAAAGBmZtY/IQZUcmFpbDIoAwAAAAD/AAfhCDY/MAADAACAPwAAACEKVHJhaWwz'
			..'bWFyaygCAAAAAP8ACwAAgD//AAshGHJieGFzc2V0aWQ6Ly8xMDcxMzY5NTk4OCkDAAAAAAAAQD8AAAAAieoBPzMzaz8AAAAAAACAP2ZmJj4AAAAABPkCzwUrBAoAAEC/AP4UvQAAgzwpAwAAAAAAAAAAAAAAAI0uuj0AAEA+AABAPgAAgD8AAAAAAAAAACEHTWluZVNIQQTVBdMFKwQhCEh1bWFub2lkIRdBdXRvbWF0aWNTY2FsaW5nRW5hYmxlZCETRGlzcGxheURpc3RhbmNlVHlwZSEJSGlwSGVpZ2h0IQlKdW1wUG93ZXIhCVdhbGtTcGVlZCEIQW5pbWF0b3IhEEh1bWFub2lkUm9vdFBhcnQEBwPTBSsEAwAAAAAAwJBAChaWHsNEOapBdJI5wwopXL8/2oCiP57vlz8hB01vdG9yNkQhBVRvcnNvIQVQYXJ0MCEFUGFydDEhBEhlYWQhAkMwBNYFzwXQBQQSA9MF0gUKAAC0QgAANEMAAAAACvuVHsNDOKpBa5I5wwoAALRCAAAAAAAANMMKAAAAPwAAAD8AAAA/IQtTcGVj'
			..'aWFsTWVzaCEFU2NhbGUKmpmZPpqZmT6amZk+IQlUZXh0dXJlSWQhCE1lc2hUeXBlBBsDzwUrBAoAODA/AICyvgAgBj8hC0F0dGFjaG1lbnQyBB4DzwUrBAoAgzC/AICyvgAgBj8hF3JieGFzc2V0aWQ6Ly82OTUyMDUzMjE3IQZTdW1tb24oAgAAAAD/AMgAAIA//wDIEc3MDD/henQ/KQQAAAAAAAAwPwAAAADhQSM+AADIP5X/fz3QJ+o+AABAPlo6NT0AAIA/AAAAAAAAAAAhGHJieGFzc2V0aWQ6Ly8xMDU1ODIwNDM3MAMzMzMzMzPDPxEAAIA+AADAPykEAAAAAAAAAAAAAAAAqMZLPjMzMz8zMzM/PggNP2/T3z1v0989AACAPwAAAAAAAAAAEQAAoEEAAKBBIRhyYnhhc3NldGlkOi8vMTA3ODI0NTM1ODkDAAAAAAAAIUApBAAAAAAAAAAAAAAAAKKypj0AACBBAAAAAGB00T4AAIA+AACAPgAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwODI3NDg4Mjk1KQMAAAAA'
			..'AAAAAAAAAAA3xEA/AAAAAAAAAAAAAIA/AACAPwAAAAAhBUZsYXJlIRhyYnhhc3NldGlkOi8vMTA4MDI0OTQ4OTIoAwAAAABUAP/vVT8/HBwcAACAPwAAACEYcmJ4YXNzZXRpZDovLzEwODA1NDYwMDgwIQZOb3RpY2UhBVdoYXQxIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTEwODQzMTU5NTQ1IQVXaGF0MiELV2hlZWwgUmlnaHQEOAPPBSsECgDU9D4ABrs+Ozi4PigDAAAAAEtLSyUG2T4QEBAAAIA/AAAAKQIAAAAA7FG4PQAAAAAAAIA/AAAAAAAAAAAEPAPPBSsECgB7Ab8ABrs+Ozi4PiEQRXhwbG9zaW9uU3RhcnR1cAQ/A88FKwQKAAAAAAAQOL4AAAAAIQVHbG93MikEAAAAAAAAAAAAAAAATVFKPv//rz8zMzM/PggNP2/T3z1v0989AACAPwAAAAAAAAAAIQRHbG93KQIAAAAAAAAAPwAAAAAAAIA/AAAAPwAAAAAoAgAAAACWAAAAAIA/lgAAAwAA'
			..'AKCZmck/IQVHbG93MygCAAAAAEsAAAAAgD9LAAApAgAAAABI4Xo/AAAAAAAAgD9I4Xo/AAAAAAMAAABA4XqEPyEFU291bmQhCVBsYWNlbWVudCESUm9sbE9mZk1heERpc3RhbmNlIRJSb2xsT2ZmTWluRGlzdGFuY2UhC1JvbGxPZmZNb2RlIQdTb3VuZElkIRdyYnhhc3NldGlkOi8vNjQzMTA1Njc0NSECVkwhF3JieGFzc2V0aWQ6Ly82NDMxMDU3MzgxIQZWb2x1bWUDAAAAAAAA+D8hBk1vdmluZyEGTG9vcGVkIRdyYnhhc3NldGlkOi8vNjc0MTQ5NDE3NiEJU3RhbmRBdXJhKAIAAAAA/wDnAACAP/8A5xEAACDCAAAgQiEXcmJ4YXNzZXRpZDovLzEwNzU4NjQzMjEpBAAAAAAAAIA/AAAAAIqScD6gOFA/AAAAAD0MGT8AAHg/AAAAAAAAgD8AAIA/AAAAACEFYmVhbTEEXwPPBSsECgAQAz32TqM/AAAAACEEQmVhbSEFQmVhbTEhGHJieGFzc2V0aWQ6Ly8xMDc2NTYz'
			..'MDMzOCEMVGV4dHVyZVNwZWVkKQUAAAAAAACAPwAAAAAHBys+AACAPwAAAACjPb4+MzMbPwAAAADmrWY/AAAAAAAAAAAAAIA/AACAPwAAAAAhBldpZHRoMCEGV2lkdGgxIRhyYnhhc3NldGlkOi8vMTA3NjYwNjQwMTMDAAAAAAAAAMApBAAAAAAAAIA/AAAAABwIWT4AAFg/AAAAANTV/T6amRk/AAAAAAAAgD8AAAAAAAAAACgCAAAAAP8A3AAAgD//ANwhGHJieGFzc2V0aWQ6Ly8xMDc2NjA1ODQ1NwMAAAAAAAAIwCkFAAAAAAAAgD8AAAAAEyk9Ps3MfD8AAAAAVRijPgAAoD4AAAAA0QRaPwAAAAAAAAAAAACAPwAAgD8AAAAAIRhyYnhhc3NldGlkOi8vMTA3NjYwNTU0OTUDAAAAAAAAEMApBQAAAAAAAIA/AAAAAJoiQD4AAIA/AAAAADboCz+amVE/AAAAAPhuKz8AAAAAAAAAAAAAgD8AAIA/AAAAACEFYmVhbTIEcwPPBSsECgDzxz84q4y9AAAAACEFYmVhbTMEdgPP'
			..'BSsECkDMgD+KnnQ/AAAAACEFYmVhbTQEeQPPBSsECgDGmb8GCiw/AAAAACgCAAAAAP8A4QAAgD//AOEhC01haW4gSG9sZGVyBH0DzwUrBAoAl4a+iNHSvgCcoT0oAgAAAAD/gwcAAIA//4MHKQMAAAAAAADwPwAAAAA6kss9AADAQAAAAAAAAIA/AADUQAAAAAAhCkV4cGxvc2lvbjIRAAAvQwAAL0MpAwAAAAAAAAAAAAAAAAq4jD0AAMA+AAAAAAAAgD8AAAAAAAAAACEYcmJ4YXNzZXRpZDovLzEwODAyNDY3ODk3IQZEdW5EdW4hFXJieGFzc2V0aWQ6Ly8xMTk4NDI1NCELQmFycmFnZUFybXMhDlN0YW5kIExlZnQgQXJtB/QDBIwDzwUrBCEIQ2FuVG91Y2gGOFivCgZpkkMu4TnCOAz1QwoAAIA/AAAAQAAAgD8oAgAAAAAaKjQAAIA/Gio0IQFiBJEDzwUrBAoIAAC/ff9/vwsAAD8hAWEElAPPBSsECgQAAL99/3+/4///viEPVHJhaWxBdHRhY2htZW50BJcDzwUrBAoA'
			..'AAAAXKpiv0CtHT8hCkJhY2tncml1bmQoAgAAAACofM0AAIA/qHzNIRdyYnhhc3NldGlkOi8vOTk5NTg4OTgzMyEYcmJ4YXNzZXRpZDovLzEwNjE5NDA3NTM1IQJCRyEJTWluTGVuZ3RoIRdyYnhhc3NldGlkOi8vMTI2MzA3OTI0OQMAAAAAAABUQCkEAAAAAAAAAAAAAAAA0GO8PgAAMD8AAAAAa7omPzMzYz8AAAAAAACAPwAAgD8AAAAAKQMAAAAAAACAPwAAAACnBw0/ZmZGPwAAAAAAAIA/AAAAAAAAAAAhF3JieGFzc2V0aWQ6Ly85NTE4NzAzNjgzIRhyYnhhc3NldGlkOi8vMTA2MTkzNDYwMjgpAwAAAAAAAIA/AAAAAPT8DT8AAIA/AAAAAAAAgD8AAAAAAAAAAASmA88FKwQKAAAAABjLY7+AT36/IQRXZWxkISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjAzMwTXBdMFKwQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQ4'
			..'BNgF0wUrBCEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNDkE2QXTBSsEISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjA1MATaBdMFKwQhJ01lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX1RvcnVzLjAwMwTbBdMFKwQhJ01lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX1RvcnVzLjAwNgTcBdMFKwQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDMyBN0F0wUrBCEMTGVmdEFybU1vZGVsBN4F0wUrBAS6A9MFKwQDAAAAAAAAckAKfgySQ07pOsIaCvVDCqxsRz/R7dE/zgVWPyEYcmJ4YXNzZXRpZDovLzExNTcxNzM4MTUyIQRCYWNrIQRGYWNlIQZDb2xvcjMGS0tLIRhyYnhhc3NldGlkOi8vMTE1NzE3NTU4ODAhDVN0dWRzUGVyVGlsZVUhDVN0dWRzUGVyVGlsZVYhBUZyb250IQZib3R0b20h'
			..'A3RvcCEEbGVmdCEFcmlnaHQEygPTBSsECpQ4kkMunDXCyw71QwowVao/MlWqP+RPzT8hGHJieGFzc2V0aWQ6Ly8xMTU3MTczNTM0MQTOA9MFKwQKlDiSQy+cNcLLDvVDCiZVkT8mVZE/cCSMPyEYcmJ4YXNzZXRpZDovLzExNTcxNzQyNjk3BNMD0wUrBAMAAAAAAICYQArOa5JDmgM4wp0K9UMKkPCrPwivWj+siZA/IRhyYnhhc3NldGlkOi8vMTE1NzE3NDA5OTAH7AME2QPTBSsEBv8AAAqWbpJD5o46wp0K9UMKMNR/Pzw88T8AkXk/IRhyYnhhc3NldGlkOi8vMTE1NzE3MzgyNzkGsQAjBN4D0wUrBAp8bpJDQGw7wp0K9UMKovKvPyDcGj7Gy60/IRhyYnhhc3NldGlkOi8vMTE1NzE3NDExMjQE4gPTBSsECpxukkMPRTzCnQr1QwoIWbk/3hp+P6Cmtz8hGHJieGFzc2V0aWQ6Ly8xMTU3MTc0MTMzOCEPU3RhbmQgUmlnaHQgQXJtBwgEBOkDzwUrBAb/NacKBumTQy7h'
			..'OcI4DPVDBOsDzwUrBArL//8+ff9/vw8AAD8E7QPPBSsECtP//z59/3+/2f//viEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNDQE3wXTBSsEISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjA0NgTgBdMFKwQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQ3BOEF0wUrBCEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNTYE4gXTBSsEISdNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19Ub3J1cy4wMDQE4wXTBSsEISdNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19Ub3J1cy4wMDUhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQzBOQF0wUrBCENUmlnaHRBcm1Nb2RlbATlBdMFKwQE/gPTBSsECvLok0MPRTzCnQr1QwoIWbk/3Bp+P6Cmtz8hGHJi'
			..'eGFzc2V0aWQ6Ly8xMTU3MTc0MDY3MwQCBNMFKwQKFOmTQ0BsO8KdCvVDCqDyrz8g3Bo+xsutPyEYcmJ4YXNzZXRpZDovLzExNTcxNzQwMzQ4BAYE0wUrBArC65NDmgM4wp0K9UMKlPCrPwivWj+uiZA/IRhyYnhhc3NldGlkOi8vMTE1NzE3NDAxNTAECgTTBSsECvoelEMunDXCyw71QwowVao/NFWqP+RPzT8hGHJieGFzc2V0aWQ6Ly8xMTU3MTczNTUyMgQOBNMFKwQKEkuUQ07pOsIaCvVDCqhsRz/R7dE/zgVWPyEYcmJ4YXNzZXRpZDovLzExNTcxNzQyMjM2CihVkT8oVZE/cCSMPyEYcmJ4YXNzZXRpZDovLzExNTcxNzQyNDkwBBQE0wUrBAr46JND5o46wp0K9UMKONR/Pzs88T8CkXk/IRhyYnhhc3NldGlkOi8vMTE1NzE3NDA4NDYhFUNvbG9yQ29ycmVjdGlvbkVmZmVjdCEGSW52ZXJ0IQhDb250cmFzdCEKU2F0dXJhdGlvbgTmBc8FKwQpAgAAAAAnd5M/AAAA'
			..'AAAAgD8Oq4c/AAAAAAsAADREAAA0RCEXcmJ4YXNzZXRpZDovLzYwNDg0NjkyNzcpBAAAAAAAAIA/AAAAABa0+D6rh1U/AAAAADkhSj/oM3Q/AAAAAAAAgD8AAIA/AAAAACkCAAAAAIanwj8AAKA+AACAPxiRDT4YkQ0+KQQAAAAAAACAPwAAAABwknA+oDhQPwAAAAA7DBk/AAB4PwAAAAAAAIA/AACAPwAAAAARmpmZPs3MTD8DAAAAAAAAQ0ApAgAAAAC4P1o/AAAAAAAAgD8ExYE/AAAAACEqaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD02ODY2NjcxMDcwKQQAAAAAAACAPwAAAADAbPQ+27ZtPwAAAAA5IUo/6DN0PwAAAAAAAIA/AACAPwAAAAADAAAAAACARUApAgAAAABowTw+AAAAAAAAgD9y2zY/AAAAACEqaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD03NDUxODMxNTQwKQQAAAAAAACAPwAAAABlsfs+rrVWPwAAAABAaU8/vWBePwAAAAAA'
			..'AIA/AACAPwAAAAAKAAAAAAAAgD8AAAAAEQAAf8MAAH9DKQMAAAAALHcTP2j1sD58O3Y/AAAAAAAAAAAAAIA/BMWBPgAAAAApBAAAAAAAAIA/AAAAAEHFmj4AAAAAAAAAAFsMMz8AAAAAAAAAAAAAgD8AAIA/AAAAACEJRGFtYWdlR1VJBDEE5wXoBQp9Bh7F4w59xeJmdkMKbxKDOm8SgzpvEoM6IQVTaGFwZSEMQmlsbGJvYXJkR3VpIQNCQkchDlpJbmRleEJlaGF2aW9yIQZBY3RpdmUhC0Fsd2F5c09uVG9wIRBDbGlwc0Rlc2NlbmRhbnRzDAAAoEAAAAAAgD8AACEJVGV4dExhYmVsIQdUZXh0Qm94IRBCYWNrZ3JvdW5kQ29sb3IzBv///yEWQmFja2dyb3VuZFRyYW5zcGFyZW5jeQwAAIA/AAAAAIA/AAAhBEZvbnQDAAAAAAAANkAhBFRleHQhCWZvb2JhcjEyMyEKVGV4dENvbG9yMyEKVGV4dFNjYWxlZCEIVGV4dFNpemUDAAAAAAAALEAhEFRleHRTdHJva2VDb2xv'
			..'cjMGIgAiIRZUZXh0U3Ryb2tlVHJhbnNwYXJlbmN5IQtUZXh0V3JhcHBlZCEKVUlHcmFkaWVudCgCAAAAAP///wAAgD//AEQDAAAAAACAVsAhCkhlYWxFZmZlY3QH6QMEVQTpBeoFBvj4+AoAAAAAAAA0wwAAAAAKQl8BRbyxwkTqFnhCCgAANEMAAAAAAAA0wyEKUGlrYUxvZ2ZpYSgCAAAAAFX/fwAAgD9V/38DAAAAAACAREARAABwwgAAcEIpCAAAAAABAJA/AQCQP+8Fxz70/78+hh5ePsEo3z4AAHA/m01QPiIiAj/0/78+4P8/PlZhJj/w//898P//PUh4MD8AAKA+zsS+PYb0Oj+g/389oP9/PQAAgD8AAAAAAAAAABEAAIBAAAC4QSEXcmJ4YXNzZXRpZDovLzEwNTM1NDY2MzQpBAAAAAAAAIA/AAAAADCPrT4AAAAAAAAAAL3ZGD8AAAAAAAAAAAAAgD8AAIA/AAAAAAMAAACgmZn5PygCAAAAAFX/AAAAgD9V/wARAADwwgAA8MIRAACqwgAAqsIpAgAAAAAzMzM/AAAA'
			..'AAAAgD8zMzM/AAAAAAsAAKBAAAAgQSEpaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0yNDI4NTYyMjYhB0hlYWxHVUkKAACAQAAAgEAAAIBAIQI2OSgCAAAAAP///wAAgD8A/yYhE1Byb2plY3RpbGVDb2xsaXNpb24EbATPBSsECmUxI0XamXtFyn4pQgoAAKBAAACgQM3MTD0hDERhc2hQYXJ0aWNsZSgCAAAAAFuaTAAAgD9bmkwDAAAAAAAAPkApAgAAAAAAAKA/AACgPgAAgD/6/y8/AAAAABEAAMBAAADAQCEqaHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD00NTEwMjkwMjE0KQQAAAAAAACAPwAAAADkf9o91dhDPwAAAACCyP8+eKY/PwAAAAAAAIA/AACAPwAAAAAhBURlY2FsISpodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTcxNDYwNTk4MTEhCVNjcmVlbkd1aSENQ2luZW1hdGljQmFycyEOSWdub3JlR3VpSW5zZXQhBUZyYW1l'
			..'IQZCb3R0b20hC0FuY2hvclBvaW50CwAAAD8AAAA/BgAAAAwAAAA/AADXo3A/AAAMAACAPwAAuB4FPgAAIQNUb3AMAAAAPwAAuB6FPQAAIQVUYXVudCELTWF4RGlzdGFuY2UDAAAA4NtYxUUMAACgQAAAAAAAQAAAIQtTdHVkc09mZnNldCE6TG9va3MgbGlrZSBkb2luZyB3aGF0IHlvdSB3YW50ZWQgd2FzIHVzZWxlc3MuLiBJbiB0aGUgZW5kLiEFU3RhbmQE6wXTBSsEIQlUb3Jzb01lc2gE7AXTBSsEISdNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19Ub3Jzby4wMTAEjwTTBSsECv7Jj0NKFDnCeQL1Qwq0J3lAeiIOQIbgzj8hGHJieGFzc2V0aWQ6Ly8xMTU3MTczNjMzNSEnTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfVG9yc28uMDA5BJQE0wUrBAr+yY9DLrQ9wvAL9UMKcM8iQKBQNT9CKMg/IRhyYnhhc3NldGlkOi8vMTE1NzE3MzYxNTEhJ01l'
			..'c2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX1RvcnNvLjAwNwSZBNMFKwQK/smPQ9OiPMLsC/VDCjjr+T9iXDk/EHOWPyEYcmJ4YXNzZXRpZDovLzExNTcxNzM1NzI0ISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjAyNASeBNMFKwQK/smPQ+tsOsLykPVDCshk2T/IZNk/wF1xPiEYcmJ4YXNzZXRpZDovLzExNTcxNzM3OTQ4ISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjA0NQSjBNMFKwQK/smPQ+xsOsKagvVDCmogNUBoIDVA6G7rPiEYcmJ4YXNzZXRpZDovLzExNTcxNzQwNTM2ISdNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19Ub3Jzby4wMDgEqATTBSsECv7Jj0OUkD7CScf0QwrIsh4//ESUPqB+5T0hGHJieGFzc2V0aWQ6Ly8xMTU3MTczNTkzNSEnTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfVG9y'
			..'c28uMDExBK0E0wUrBAr+yY9Dcog6wuwL9UMKVAAoQLHb8j8Qc5Y/IRhyYnhhc3NldGlkOi8vMTE1NzE3MzY1NTghJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDUxBLIE0wUrBAr+yY9DMpw5wn+k9EMKoLF/P5yxfz+IzXc+IRhyYnhhc3NldGlkOi8vMTE1NzE3NDE0NzYhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDI1BLcE0wUrBAr+yY9DKpw5wm+f9EMKIHIZPxxyGT+sziY+IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzc3MzkhBkxMTWVzaATtBdMFKwQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDMwBL4E0wUrBAr+iY9Df8ZBwrK/9EMKwBWjPswVoz44SbE9IRhyYnhhc3NldGlkOi8vMTE1NzE3MzcwNDQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDMxBMME0wUrBAr+iY9D'
			..'gMZBwmLC9EMK0OAHP8/gBz9QrwM+IRhyYnhhc3NldGlkOi8vMTE1NzE3MzY3MzAhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQxBMgE0wUrBApcjI9DWTJEwpsK9UMKCLWTP4PU8D4MJpA/IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzk3NDUhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQwBM0E0wUrBApcjI9DPAxEwpsK9UMKCLWTP+RIKT8MJpA/IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzk1OTUhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDUzBNIE0wUrBApcjI9DFAJBwpsK9UMKaDGOP77VRz9Stoo/IRhyYnhhc3NldGlkOi8vMTE1NzE3NDE4MTAhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDQyBNcE0wUrBAqCW49DYrY/wpsK9UMKgGZDP9jtrD50vpI/IRhyYnhhc3NldGlk'
			..'Oi8vMTE1NzE3Mzk5NDEhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDM0BNwE0wUrBApcjI9D2bZBwpsK9UMKMNR/P3Wb6T//kHk/IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzg0NDYhBlJBTWVzaATuBdMFKwQE4gTTBSsECiiHkEMPRTzCnAr1QwTkBNMFKwQKSoeQQ0BsO8KcCvVDBOYE0wUrBAr4iZBDmgM4wpwK9UME6ATTBSsECjC9kEMunDXCyg71QwTqBNMFKwQKSOmQQ07pOsIZCvVDBOwE0wUrBAouh5BD5o46wpwK9UMhCEhlYWRNZXNoBO8F0wUrBCEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wMjYE8QTTBSsECv7Jj0O+FjTCcwX1QwqouMc/sAncPxz/xT8hGHJieGFzc2V0aWQ6Ly8xMTU3MTczNzU3NSEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNTQE9gTTBSsECv7Jj0O+FjTCKwL1Qwogor0/'
			..'sAncP3Buvz8hGHJieGFzc2V0aWQ6Ly8xMTU3MTc0MTk2MyEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNTIE+wTTBSsECv7Jj0MrqDTCfy71Qwr4F7E/SuyxP1r26T8hGHJieGFzc2V0aWQ6Ly8xMTU3MTc0MTYwNiEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wNTUEAAXTBSsECprxj0OgBzTC0dj0QwpIcx4/Lti5P/HjEEAhGHJieGFzc2V0aWQ6Ly8xMTU3MTc0MjA4MyEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wMjcEBQXTBSsECmCij0OgBzTC0dj0QyEYcmJ4YXNzZXRpZDovLzExNTcxNzM3NDQwIQZMQU1lc2gE8AXTBSsEBAoF0wUrBAq0qo5DTuk6whkK9UMEDAXTBSsECsrWjkMunDXCyg71QwQOBdMFKwQKytaOQy+cNcLKDvVDBBAF0wUrBAoECo9DmgM4wpwK9UMEEgXTBSsECswMj0PmjjrC'
			..'nAr1QwQUBdMFKwQKsgyPQ0BsO8KcCvVDBBYF0wUrBArSDI9DD0U8wpwK9UMhBlJMTWVzaATxBdMFKwQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDM1BBsF0wUrBAqeB5BDPAxEwpsK9UMKBLWTP+VIKT8MJpA/IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzg2MjYhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDM2BCAF0wUrBAqeB5BDWTJEwpsK9UMKCLWTP4LU8D4MJpA/IRhyYnhhc3NldGlkOi8vMTE1NzE3Mzg3OTQhJk1lc2hlcy9udWNsZWFyIHN0YXIgbmVhIHRoaW5nX0N1YmUuMDI4BCUF0wUrBAr+CZBDgMZBwmLC9EMhGHJieGFzc2V0aWQ6Ly8xMTU3MTczNzMyNSEmTWVzaGVzL251Y2xlYXIgc3RhciBuZWEgdGhpbmdfQ3ViZS4wMjkEKQXTBSsECv4JkEOAxkHCsr/0QyEYcmJ4YXNzZXRpZDovLzExNTcxNzM3MjA3'
			..'ISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjAzOAQtBdMFKwQKngeQQxQCQcKbCvVDCmwxjj++1Uc/U7aKPyEYcmJ4YXNzZXRpZDovLzExNTcxNzM5MTQyISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjAzNwQyBdMFKwQKeDiQQ2K2P8KbCvVDCoBmQz/Y7aw+c76SPyEYcmJ4YXNzZXRpZDovLzExNTcxNzM4OTI0ISZNZXNoZXMvbnVjbGVhciBzdGFyIG5lYSB0aGluZ19DdWJlLjAzOQQ3BdMFKwQKngeQQ9m2QcKbCvVDCjjUfz91m+k/ApF5PyEYcmJ4YXNzZXRpZDovLzExNTcxNzM5MzM5IQpTdGFuZCBIZWFkB/cDBD4FzwUrBAaRJq8KPMePQy7hM8I3DPVDCgAAAEAAAIA/AACAPwTyBdMFKwQE8wXTBSsEBPQF0wUrBAT1BdMFKwQE9gXTBSsEBEYFzwUrBAo8B49DLuE5wjcM9UMhDlN0YW5kIExlZnQgTGVnB+4DBEsFzwUr'
			..'BAbmWP8KPIePQy7hQcI3DPVDBPcF0wUrBAT4BdMFKwQE+QXTBSsEBPoF0wUrBAT7BdMFKwQE/AXTBSsEBP0F0wUrBARUBc8FKwQKPIeQQy7hOcI3DPVDIQ9TdGFuZCBSaWdodCBMZWcEVwXPBSsECjwHkEMu4UHCNwz1QwT+BdMFKwQE/wXTBSsEBAAG0wUrBAQBBtMFKwQEAgbTBSsEBAMG0wUrBAQEBtMFKwQhC1N0YW5kIFRvcnNvBxoABGMFzwUrBAYyMjIKPMePQy7hOcI3DPVDIQROZWNrBCsE0wXQBSECQzEEBQbTBdAFIQ5SaWdodCBTaG91bGRlcgQGBtIFKwQEBwbSBSsEIQlSaWdodCBIaXAECAbSBSsEBAkG0gUrBCENTGVmdCBTaG91bGRlcgQKBtAFKwQECwbQBSsEIQhMZWZ0IEhpcAQMBtAFKwQEDQbQBSsEBA4G0wUrBAQPBtMFKwQEEAbTBSsEBBEG0wUrBAQSBtMFKwQEEwbTBSsEBBQG0wUrBAQVBtMFKwQEFgbTBSsEIQ5TdW1tb25QYXJ0aWNsZSEGQ2ly'
			..'Y2xlKAIAAAAA8mL/AACAP/Ji/xEAALRDAAC0QykEAAAAAAAAAAAAAAAAexMDPk9ALkEAAAAAPggNP2/T3z1v0989AACAPwAAAAAAAAAAIRhyYnhhc3NldGlkOi8vMTA1NTIwMjE3NTcoAgAAAADhbuQAAIA/5DbWIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExNDQ2MTMyNTA4IQhDcnlzdGFscwoAAAAAAAD6wgAAAAAoAgAAAAD/MZUAAIA//zGVIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExNDQ1NDMwNTY1KAIAAAAA/0LmAACAP/9C5iEYcmJ4YXNzZXRpZDovLzEwMjIwNDQ2NTA1KQIAAAAAAAAoPwAAAAAAAIA/AACAPwAAAAAhCUxpZ2h0bmluZygCAAAAAH4/dwAAgD//RNYhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTEzNTkxODc4NzIoAgAAAAD/YuQAAIA//2LkIRhyYnhhc3NldGlkOi8vMTA1NTE5NDg5'
			..'NTEhCFNwYXJrbGVzKAIAAAAA/37oAACAP/9+6BEAAAA/AACAPykDAAAAAAAAAAAAAAAAxcVRPgAAYEAAAAAAAACAPwAAYEAAAAAACwAAtEIAALRCIRhyYnhhc3NldGlkOi8vMTA1NTIwMTc1NzIoAgAAAAD/L+0AAIA//y/tKQIAAAAAXOdXP1znVz8AAIA/TtPfPk7T3z4hGHJieGFzc2V0aWQ6Ly8xMDk3MTIzMTQyMCkDAAAAAAAAAAAAAAAAC89DPwAAAAAAAAAAAACAPwAAcD8AAAAAIQlzaG9ja3dhdmUoAgAAAAD/YM0AAIA//2DNKQQAAAAAAAAAAAAAAADadcc+AAB0QAAAAABUjSI/AAC+QAAAAAAAAIA/AADYQAAAAAAhF3JieGFzc2V0aWQ6Ly8xMDg0OTU1MDEyKQsAAAAAAACAPwAAAABJEE4+AAAAAAAAAADyltM+AAAAAAAAAAAB/NM+AACAPwAAAAAJwhk/AACAPwAAAACQ9Bk/AAAAAAAAAAAtP0A/AAAAAAAAAADD1kA/AACAPwAAAAAMV1c/AACAPwAAAABj'
			..'tVk/AAAAAAAAAAAAAIA/AAAAAAAAAAAoAgAAAAB+RnQAAIA/fkZ0KQMAAAAAAAAAAAAAAAC/R30+AAC+QAAAAAAAAIA/AADYQAAAAAAhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTE0NDYxNTMwODUpAwAAAAAAAAAAAAAAAF70KT8AAAAAAAAAAAAAgD8AAIA/AAAAACEGSW1wYWN0KAIAAAAAfjR1AACAP/8huCkEAAAAAAAAAAAAAAAAfp2lPc7foD8AAAAAhetRPgAAQEAAAAAAAACAPwAAQEAAAAAAIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExMzU5NTg4MDU4KQMAAAAAAAAAAAAAAABOYT0/AAAAAAAAAAAAAIA/AACAPwAAAAAhB1JpcHBsZTEoAgAAAAD/V9gAAIA//1fYEQAAFsMAABZDIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExMzU4Mzk0NDMwKQYAAAAAAAAAAAAAAADjcP4+AAAAAAAAAAAwfx0/mpkB'
			..'PwAAAACfPFA/ZmZePwAAAABbC2M/ZmZuPwAAAAAAAIA/AACAPwAAAAAhBFN0YXIoAgAAAAD/Ru0AAIA//0btEQAAAAAAALRDKQcAAAAAlf9/PQAAAABqNmo9t5ywQJX/fz1TriA+flJjQN1taD2nXLE+c9fKP/boMj3X2dg+z9hDP7xiIT3X2Rg/BOSLPn2v4TwAAIA/AAAAAAAAAAARAACgQAAA+kIhK2h0dHA6Ly93d3cucm9ibG94LmNvbS9hc3NldC8/aWQ9MTE0NDU0MzIwODIpAwAAAAAAAIA/AAAAAF3dcT4AAAAAAAAAAAAAgD8AAAAAAAAAACEGU3BhcmtzKAIAAAAA/0T2AACAP/9E9ikDAAAAAAAAAAAAAAAAvLNRPT3TXz9y3qc+AACAP8UgED8AAAAAIStodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTExMzM3NTcwNTE2KQMAAAAAAAAAAAAAAAC/DUk/AAAAAAAAAAAAAIA/AACAPwAAAAAhBVNpZ2lsKAIAAAAA/2TDAACAP/9kwyEraHR0cDovL3d3'
			..'dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMTQ0NjEwODk5MSEGU2lnaWwzKAIAAAAAfkF3AACAP35BdyEraHR0cDovL3d3dy5yb2Jsb3guY29tL2Fzc2V0Lz9pZD0xMTQ0NjEwOTMwMgPNzMzMzMzkPyEVU3RhbmRIdW1hbm9pZFJvb3RQYXJ0B/IDBgAA/yEMUG9zZVBhcnRpY2xlKAQAAAAA////dQIKPv///+dTMz9UAH4AAIA/BwQIEQAAcMEAAHDBKQsAAAAAAAAAAAAAAAAvcso9lf9/PQAAAAB2F0g+AABwPwAAAACZEZY+AADgPgAAAADNzMw+AACAPwAAAAA2PQg/AAAAPwAAAAByTyM/AACIPwAAAAD8NEI/AAAQPwAAAABQGVc/AACAPwAAAAAR/WY/AAAwPwAAAAAAAIA/AADAPgAAAAARmpmZPpqZmT4LAACvQwAAesMhF3JieGFzc2V0aWQ6Ly82OTI0Nzg1ODIxKQQAAAAAAADQPgAAAAAwfwU+AAAAAAAAAAA0aV8/zcxMPAAAAAAAAIA/AAAwPwAAAAAhBVdlbGRz'
			..'BBcGzwUrBCEJUm9vdEpvaW50CgAAgD8AAAAAAAAAAAoAAAAAAAAAAAAAgD8KAAAAAAAAAAAAAAAACgAAAAAAAAAAAACAvwoAAIC/AAAAAAAAAAAKYJfOwrFwgEGp4iNDCn5prMIIFMVBjQ8GQwoAANi5AIAAugAAELkKABAyPWC4Lb4AgE28CgDgsTwQyu4+AIBNvAoAsC49QInFvgCATbwKANAyPVz4GL8AgE28CgDGwb7yn4g/AMCkPAoAxsG+5p+IPwDApDwKABE5v+APhL4AgIe8CvZSkkNaozjCyw71QwoAANg5QInFvgCATbwKAAAculz4GL8AgE28CgAA2LlguC2+AIBNvAoAF0Q/4A+EvgCAh7wKANLXPvKfiD8AwKQ8CgDgrjwQyu4+AIBNvAqaBJRDWqM4wssO9UMKfcwmxcE7MsVxE4BDCvT/fz8DEpCNAACQlQoDEpCN9P9/PwAAECMKAACAv6kFKDUqNKk0CqcFKDUAAIA/AH6QtAr+yY9D40M7wrP19EMK/smPQ5RcOsKFGvVDCnCAj0Oct0HCEQf1QwrQopBDWqM4'
			..'wssO9UMK/smPQ74WNMKz9fRDCizxjkNaozjCyw71QwqKE5BDnLdBwhEH9UMKAG6TvgDGGb0AmM2+CgBgsDyg/Ea+ACCJPgoAYLA8AEBWvQDAoL0KAHqpPgDGGb0AmM2+CgBgsDwAQFa9AIBYvQoAYLA8gG/VPACqE78KABAkPeBVKT0AAE68CgAQJD2Kwwq/AABOvAoAECQ9ykoUvwAATrwKAOauvh+zCj8AAE68CgAQJD28GV8+AABOvAoAYLA8oHTVPAAKGb8KAGCwPKBv1TwAChm/CgAARTuNwwq/AABOvAoAAEU7zUoUvwAATrwKAPLEPh+zCj8AAE68CgAARTu0GV8+AABOvAoAAEU70FUpPQAATrwKAGCwPKBv1TwAqhO/CgAAAAAAAAC/AAAAgAoCAIA/AAAAPwAAAIAKAAAAvwAAAD8AAAAACgAAgD8AAIC/AAAAAAoAAAA/AACAPwAAAAAKAACAvwAAAD8AAACACgAAAD8AAAA/AAAAAAoAAIC/AACAvwAAAAAKAAAAvwAAgD8AAAAACgBgsDwACYo9AJBZvwoAYLA8ML4L'
			..'vgDGbD8KAGCwPAD4iT0AcE+/CgBgsDw8aTC/AAAWuwoAYLA8wOyVvwDcCb8KAGCwPBDAdL8AAA67CgBgsDzA40w+AOCbvQoAYLA8IEQnvgAAFrsKAGCwPPC8C74Au4Q/CgAAwDhg5u0+ALPbP2cDAQAAAAEAAgADAAEAAQABAAIABAAFAAIADgACAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAIABQAFQAWABcAGAAVABkAGgAbAAoAHAAdAB4AAwAAAB8ABAAOAAIAIAARACEAIgAjACQAJQAmABAAJwAoACkAHQAqACUAGAArABkALAAtAC4ALwAwABwAMQAyADMAHwAEAAwAAgA0ABEANQAiADYAJAA3ACYAEAAnADgAKgAdABkAOQAtADoALwA7ABwAPAAyADMABQACAA4AAgA9AAcACAAJAAoACwAMAA0APgAPABAAEQASABMACAAUABUAFgA/ABgAFQAZABoAGwAKABwAHQBAAAcABABBAAoAEQBCAEMACABEAEUAHgAHAAAAHwAJABMAAgBGAEcASAARACEAIgAlACYA'
			..'EAAnAEkAKQAdAEoAHQAqAEsATABNABgATgAZAE8ALQBQAFEAUgAvAFMAVABVABwAVgBXADMAMgBYAB8ACQANAAIAWQARAFoAIgBbACYAEAAnAFwAFAAzACoAXQAYACsAGQBeAC0AXwBRAGAALwBhADIAMwAfAAkADwACAGIAEQBjACIAJQAkADcAJgAQACcAZAAqAGUATABmABgAZwAZAGgALQBpAFEAagAvAGsAHABsADIAHQAfAAkADwACAG0AEQBuACIANgAkADcAJgAQACcALgAqAGUATABmABgAZwAZAGgALQBvAFEAagAvAHAAHABxADIAcgAfAAkADwACAHMAEQB0ACIAJQAkADcAJgAQACcASQAqAGUATABmABgAZwAZAHUALQB2AFEAagAvAHAAHAB3ADIAeAAfAAkADwACAHkARwB6ABEAewAiACUAJAAlACYAEAAnAHwAKgB9AEwAZwAYAGcAGQB+AC0AfwBRAIAALwCBABwAggAfAAkADwACAIMARwCEABEAhQAiAIYAJAAlACYAEAAnAEkAKgCHAEwAiAAYAGcAGQCJ'
			..'AC0AigBRAIsALwBrABwAjAAfAAkADwACAI0ARwCOABEAjwAiAJAAJgAQACcAkQAqAIcATACIABgAZwAZAIkALQCSAFEAkwAvAJQAHACVAFcAlgAfAAkADQACAJcARwB6ABEAmAAiACUAJgAQACcAmQAqAJoAGABnABkAmwAtAJwAUQBqAC8AnQAcAJ4AHwAJABMAAgBGAEcAnwARAJgAIgA2ACQAMwAmABAAJwCgACkAoQAqAF0ATACiABgAZwAZAE8ALQBvAFEAowAvAKQAVABVABwApQBXADcAMgA3AB8ACQAOAAIAWQBHAKYAEQBaACIApwAmABAAJwCgABQAMwAqAF0AGAArABkAXgAtAKgAUQCpAC8AqgAyADMAHwAJAA4AAgBZABEAWgAiAFsAJgAQACcALgAUADMAKgBdAEwAqwAYACsAGQBeAC0AXwBRAKwALwCtADIAMwAfAAkAEwACAEYARwBIABEAIQAiACUAJgAQACcAmQApAB0ASgAdACoASwBMAK4AGABOABkATwAtAFAAUQBSAC8AUwBUAFUAHABWAFcAMwAyAFgA'
			..'HgAHAAAAHwAXAA8AAgCvABEAIQAkADMAJgAQACcAsAApAB0ASgAdALEACAAUADcAKgA2ABgAsgAZALMALQC0AC8AtQAcALYAHwAXAA4AAgCvABEAtwAkADMAJgAQACcAXACxAAgAFAA3ACoANgBMALgAGACyABkAuQAtALQALwC6ABwAtgAfABcADQACAK8AEQC3ACQAMwAmABAAJwC7ALEACAAUADcAKgA2ABgAsgAZALkALQC0AC8AvAAcALYAHwAXAA4AAgC9ABEAmAAkADMAJgAQACcASQCxAAgAFAA3ACoANgAYAGcAGQC+AC0AtAAvAL8AHAC2ADIAMwAfABcADgACAL0AEQCYACQAMwAmABAAJwDAALEACAAUADcAKgA2ABgAZwAZAL4ALQC0AC8AwQAcALYAMgAzAB8AFwAOAAIArwARALcAJAAzACYAEAAnAMIAKQAdALEACAAUADcAKgA2ABgAsgAZALkALQC0AC8AwwAcALYAHgAHAAMAAgA0AA0AxAAWAMUAHwAeAAsAAgA0ABEAxgAkACUAJgAQACcAxwAqAB0AGQDI'
			..'AC0ALgAvAMkAHAA8ADIAMwAFAAIADgACAMoABwAIAAkACgALAAwADQDLAA8AEAARABIAEwAIABQAFQAWAMwAGAAVABkAzQAbAAoAHAAdAEAAIAADAEEACgARAEIARABFAB4AIAAAAB8AIgATAAIARgBHAEgAEQAhACIAJQAmABAAJwBJACkAHQBKAB0AKgBLAEwATQAYAE4AGQBPAC0AUABRAFIALwBTAFQAVQAcAFYAVwAzADIAWAAfACIADQACAFkAEQBaACIAWwAmABAAJwBcABQAMwAqAF0AGAArABkAXgAtAF8AUQBgAC8AYQAyADMAHwAiAA8AAgBiABEAYwAiACUAJAA3ACYAEAAnAGQAKgBlAEwAZgAYAGcAGQBoAC0AaQBRAGoALwBrABwAbAAyAB0AHwAiAA8AAgBtABEAbgAiADYAJAA3ACYAEAAnAC4AKgBlAEwAZgAYAGcAGQBoAC0AbwBRAGoALwBwABwAcQAyAHIAHwAiAA8AAgBzABEAdAAiACUAJAA3ACYAEAAnAEkAKgBlAEwAZgAYAGcAGQB1AC0AdgBRAGoA'
			..'LwBwABwAdwAyAHgAHwAiAA8AAgB5AEcAegARAHsAIgAlACQAJQAmABAAJwB8ACoAfQBMAGcAGABnABkAfgAtAH8AUQCAAC8AgQAcAIIAHwAiAA8AAgCDAEcAhAARAIUAIgCGACQAJQAmABAAJwBJACoAhwBMAIgAGABnABkAiQAtAIoAUQCLAC8AawAcAIwAHwAiAA8AAgCNAEcAjgARAI8AIgCQACYAEAAnAJEAKgCHAEwAiAAYAGcAGQCJAC0AkgBRAJMALwCUABwAlQBXAJYAHwAiAA0AAgCXAEcAegARAJgAIgAlACYAEAAnAJkAKgCaABgAZwAZAJsALQCcAFEAagAvAJ0AHACeAB8AIgATAAIARgBHAJ8AEQCYACIANgAkADMAJgAQACcAoAApAKEAKgBdAEwAogAYAGcAGQBPAC0AbwBRAKMALwCkAFQAVQAcAKUAVwA3ADIANwAfACIADgACAFkARwCmABEAWgAiAKcAJgAQACcAoAAUADMAKgBdABgAKwAZAF4ALQCoAFEAqQAvAKoAMgAzAB8AIgALAAIAWQARAFoAIgBb'
			..'ACYAEAAnAC4AKgBdABkAXgAtAM4AUQCsAC8AzwAyADMAHwAiABMAAgBGAEcASAARACEAIgAlACYAEAAnAJkAKQAdAEoAHQAqAEsATACuABgATgAZAE8ALQBQAFEAUgAvAFMAVABVABwAVgBXADMAMgBYAB4AIAAAAB8AMAAPAAIArwARACEAJAAzACYAEAAnALAAKQAdAEoAHQCxAAgAFAA3ACoANgAYALIAGQCzAC0AtAAvALUAHAC2AB8AMAAOAAIArwARALcAJAAzACYAEAAnAFwAsQAIABQANwAqADYATAC4ABgAsgAZALkALQC0AC8AugAcALYAHwAwAA0AAgCvABEAtwAkADMAJgAQACcA0ACxAAgAFAA3ACoANgAYALIAGQC5AC0AtAAvALwAHAC2AB8AMAANAAIAvQARANEAJAAzACYAEAAnANIAsQAIABQANwAqADYAGABnABkAvgAtALQALwDTABwAtgAfADAADQACAL0AEQCYACQAMwAmABAAJwDAALEACAAUADcAKgA2ABgAZwAZAL4ALQC0AC8A1AAcALYAHwAwAA4A'
			..'AgCvABEAtwAkADMAJgAQACcAwgApAB0AsQAIABQANwAqADYAGACyABkAuQAtALQALwDDABwAtgAeACAAAwACADQADQDVABYA1gAfADcACwACADQAEQDGACQAJQAmABAAJwDHACoAHQAZAMgALQAuAC8AyQAcADwAMgAzAB8AIAARAAIARgBHAJ8AEQAhACIANgAkADMAJgAQACcA0AApAB0AKgBdABgAZwAZANcALQBvAFEAowAvANgAHADZAFcANwAyADcAHwAgAA0AAgDKABEAIQAiANoAJAAlACYAEAAnALsAKgCGABkA2wAtAM4AUQDcAC8A3QAcAN4AMgDfAAUAAgAIAAIA4AAJAAoADQDhAOIAHQAWAOMAGQDkABsACgAcAB0AHgA7AAMAAgDlAA0A5gAWAOcA6AA8AAkAAgDpABEA7ADtAAgAJwAdAC8A7gDvAPAA8QAzABwA8gDzAPQA6AA8AAkAAgDpABEA7ADtAAgAJwD1AC8A9gDvAPAA8QAzABwA8gDzAPQAHgA7AAMAAgDlAA0A9wAWAPgAHwA7AA8BAgD5AEcA+gAR'
			..'APsAJwD8ACkA3wAqAEsATAD9ABgA/gAZAP8ALQAAAVEAAQEvAAIBVABVABwAAwEyAB0ABAEFAR8AOwAOAQIABgFHAAcBEQAIAScA/AApAN8AKgBLAEwA/QAYAP4AGQD/AC0AAAFRAAEBLwAJARwAAwEyAB0ABAEFAR8AOwANAgIACgERAAsBIgAMASQAJQAnAPwAKgBLAEwADQEYAGcAGQAOAVEADwEvABABHAARATIAHQASAQoABAFbAB8AOwANAgIAEwERAJgAIgAMASQAJQAnAPwAKgBLAEwADQEYAGcAGQAUAVEADwEvAAkBHAARATIAHQASAQoABAFbAB8AOwAOAAIAcwARAHQAIgAlACQANwAnAPwAKgBLAEwAZgAYAGcAGQAVAS0ALgBRAGoALwBwABwAdwAyADMAAQABAAEAAgAWAQUARQAHAAIAFwEJAAoADQAYARYAGQEZABoBGwAKABwAHQAeAEYAAAAfAEcADgACAPkAEQAbASIANgAmABAAJwBJACkA3wAqAEsATAD9ABgA/gAZABwBLQAdAVEAAQEvAAIBHAADAR8A'
			..'RwAOAAIAHgERAB8BJAAlACYAEAAnACABFAA3AEwAIQEYAP4AGQAiAS0AtABRACMBLwAkARwAJQEyAB0AHwBHAAwAAgAeAREAJgEiACUAJAAlACYAEAAnALsAFAA3AEwAJwEZACgBLQAuAC8AKQEcACoBHwBHAAsAAgAeAREAKwEkACUAJgAQACcALAEUADcATACrABkAKAEtAC4ALwAtARwALgEfAEcADQACAB4BEQAvASIAJQAkADMAJgAQACcAMAEUADcATAAxARgAZwAZADIBLQAzAS8AugAcADQBHwBHAAoAAgAeAREAHwEmABAAJwAgARgAZwAZADUBLQC0AC8ANgEcADcBMgAdAB8ARwAOAAIAOAERAC8BJgAQACcALgAUADcAKgA5AUwAOgEYAGcAGQA7AS0APAFRAGAALwC6AFQAPQEcAD4BHwBHAAwAAgA4AREAPwEmABAAJwBAASkAHQCxAAgAKgA2AEwAQQEZAEIBLQC0AC8AQwEcAEQBHwBHABAAAgBFAREARgEiAFsAJAAzACYAEAAnAEcBsQAIABQAMwAqAEgBGAAr'
			..'ABkASQEtAEoBUQBLAS8ATAEcAE0BMgAdAB8ARwAPAAIARQFHAE4BEQAbASIA2gAkADMAJgAQACcALgCxAAgAKgBIARgAKwAZAE8BLQBQAVEAowAvAFEBMgAdAAUARQAHAAIAUgEJAAoADQBTARYAVAEZABoBGwAKABwAHQAeAFIAAAAfAFMADwACAFUBEQAfASIAVgEkACUAJgAQACcAVwEpAFgBKgCGAEwAqwAYAGcAGQBZAS0AOgBRAGAALwAwABwAWgEfAFMADQACAB4BEQAfASYAEAAnALsAKQAdABQANwAYAP4AGQBbAS0AtABRAGAALwBcARwAXQEyAB0AHwBTABAAAgBFAREAHwEiAFsAJAAzACYAEAAnAF4BKQAdALEACAAUADMAKgBIARgAKwAZAF8BLQBQAVEArAAvAGEAMgAdAAUARQAHAAIAYAEJAAoADQBhARYAYgEZABoBGwAKABwAHQAeAFcAAgANAGMBFABkAR8AWAASAAIAZQFHAGYBEQBGASIA2gAkAGcBJgAQACcAaAEpAB0AsQAIACoASAFMAA0BGABnABkA'
			..'aQEtADoAUQCjAC8AagFUAGsBMgAdAB8AWAAPAAIARQFHAE4BEQA/ASIA2gAkADMAJgAQACcAbAGxAAgAKgBIARgAKwAZAE8BLQBQAVEAowAvAFEBMgAdAB8AWAAQAAIARQERAG0BIgBbACQAMwAmABAAJwBuAbEACAAUADMAKgBIARgAKwAZAG8BLQBQAVEASwEvAHABHABNATIAHQAfAFgACgACAB4BEQBxASYAEAAnAHIBFAA3ABkAcwEtALQALwB0ARwAJQEyAB0AHwBYAAwAAgAeAREAdQEmABAAJwC7AEwAqwAYAGcAGQB2AS0AtABRACMBLwB3ARwAeAEyAB0AHwBYAA4AAgA4AREAPwEmABAAJwB5ARQANwAqADkBTAA6ARgAZwAZADsBLQA8AVEAYAAvALoAVAA9ARwAPgEfAFgADQACAHoBJAAlACYAEAAnADgAsQAIACoANgBMAHsBGAB8ARkAfQEtAH4BUQBqAC8AfwEyADMAHwBYAAoAAgAeAREAgAEmABAAJwAuABkAgQEtALQAUQAjAS8AggEcACUBMgAzAB8AWAAQ'
			..'AAIARQFHAEgAEQBtASIA2gAkADMAJgAQACcALgCxAAgAKgBIAUwAgwEYACsAGQBPAS0AUAFRAKMALwCEATIAHQAfAFgAEAACAEUBEQBtASIAWwAkADMAJgAQACcAhQGxAAgAFAAzACoASAEYACsAGQCGAS0AhwFRAEsBLwCIARwATQEyAB0AHwBYAA4AAgA0ABEAiQEiAIYAJAAKACYAEAAnAIoBKQCLASoANgAYAIwBGQCNAS0AjgEvAI8BHACQATIAkQEFAEUACAACAJIBCQAKAA0AkwEPABAAFgCUARkAlQEbAAoAHAAdAB4AZAADAAIA5QANAJYBFgCXAegAZQAIAAIAmAERAJkBJwBVAC8A7gDvAPAA8QAzABwA8gDzAPQAHgBkAAMAAgDlAA0AmgEWAJsBHwBkAA8AAgCcAREAnQEiAFYBJAAlACYAEAAnAPwAKQBYASoAhgBMAKsAGABnABkAngEtALQAUQBgAC8AnwEcAKABHwBkAA4AAgChAREAogEiAFYBJAAzACYAEAAnAKMBKgCGAEwApAEYAKQBGQClAS0ALgBRAGAA'
			..'LwCmARwApwEfAGQAEAACAKgBRwCpAREAnQEiAFYBJAAlACYAEAAnAKoBKQBYASoAhgBMAKsAGABnABkAqwEtAB0BUQBgAC8ArAEcAFoBBQBFAAwAAgCtAQkACgALAK4BDQCvAQ8AEAARALABFACxARYAsgEYALEBGQAaARsACgAcAB0AHgBrAAAAHwBsABAAAgCzAREAtAEiACUAJABnASYAEAAnALsAKQAdAEoAtQGxAAgAKgA2ABgAZwAZALYBLQC3AS8AuAEcALkBMgAdAB8AbAAMAAIAugERACEAJgAQACcAuwEpAB0AFAAzABgAfAEZALwBLQC9AVEAYAAvAL4BHAC/AR8AbAAMAAIAwAERACEAJgAQACcAuwEpAB0AFAAzABgAfAEZAMEBLQC9AVEAYAAvAL4BHAC/AR8AbAAMAAIAwgERAMMBJgAQACcAxAEqAAUBTADFARgAfAEZAMYBLQC9AVEAYAAvAMcBHAC/AR8AbAAQAAIAegERAMMBJAAlACYAEAAnACwBKQAdALEACAAUADcAKgA2AEwAyAEYAHwBGQDJAS0AfgFR'
			..'AGoALwDKATIAHQAfAGwADwACAMsBEQAhACQAJQAmABAAJwDMAUoAtQGxAAgAKgAlABgAzQEZAM4BLQAAAVEAYAAvAM8BHADQATIAHQAfAGwAEAACANEBEQAhACQAJQAmABAAJwC7ACkAHQBKALUBsQAIACoAJQAYAGcAGQDSAS0AAAFRAGAALwDTARwA0AEyAB0AHwBsAA0AAgDUAREAIQAkADcAJgAQACcA1QEpAB0AFAA3ABgAiAAZANYBLQC9AS8A1wEcANgBMgAdAB8AbAAQAAIA2QERACEAJAAlACYAEAAnALsAKQAdALEACAAqACUATACkARgAZwAZAM4BLQC0AC8A2gFUAFUAHADbATIAHQAfAGwADQACANwBJAAlACYAEAAnAMwBSgC1AbEACAAqACUAGQDOAS0AAAFRAGAALwDdARwA3gEyAB0AHwBrAAwAAgDfAREA4AEiAOEBJABnASYAEAAnAC4ASgDiASoASwAZAOMBLQC0AFEAowAvAOQBBQBFAAwAAgDlAQcACAAJAAoADQDmAQ8AEAATAAgAFADnARYA6AEYAOkB'
			..'GQCVARsACgAcAB0AHwB4AA4AAgD5ABEALwEiAIYAJgAQACcALgApAN8AKgBLAEwA/QAYAP4AGQDqAS0A6wFRAAEBLwACARwAAwEfAHgADQACAAYBEQDsASIANgAmABAAJwAuACkA3wAqAEsATAD9ABgA/gAZAO0BUQABAS8ACQEcAAMBHwB4AA8AAgDuAREA7wEiAIYAJAAlACYAEAAnAC4AKQBYASoAhgBMAKsAGABnABkA8AEtAB0BUQAPAS8AMAAcAPEBHgB4AAIADQDyARYA8wEfAHwADQACAK8AEQAbASYAEAAnALAAKQAdAEoAHQCxAAgAKgA2ABgAsgAZAPQBLQC0AC8AtQAcALYAHwB8AA0AAgCvABEAGwEkADMAJgAQACcAXACxAAgAKgA2AEwAuAAYALIAGQD0AS0AtAAvALoAHAC2AB8AfAAMAAIArwARAC8BJgAQACcAuwCxAAgAFAA3ACoANgAYALIAGQD0AS0AtAAvALwAHAC2AB8AfAANAAIA3AERAPUBJAAlACYAEAAnALsASgD2AbEACAAqACUAGQD3AS0AtAAv'
			..'APgBHAD5ATIAHQAfAHwADAACANwBJAAlACYAEAAnAMwBsQAIACoAJQAZANIBLQAAAVEAYAAvAN0BHADeATIAHQAfAHwADwACANwBEQB1ASQAJQAmABAAJwC7ACkAHQBKAB0AsQAIACoAJQAZAPoBLQAAAVEAYAAvAPsBHAD5ATIAHQAfAHwADgACANEBEQDsASQAJQAmABAAJwDQALEACAAqACUAGABnABkA/AEtALQAUQBgAC8A/QEcAP4BMgAdAB8AfAAPAAIAswERAMMBIgAlACQAZwEmABAAJwC7ACkAHQCxAAgAKgA2ABgAZwAZANIBLQC3AS8AuAEcALkBMgAzAB8AfAAPAAIA7gERAP8BIgCGACQAJQAmABAAJwC7ACkAWAEUADMAKgCGABgAKwAZAIEBLQAuAFEAYAAvADAAHAAAAh8AfAAPAAIAnAERAMMBIgBWASQAJQAmABAAJwD8ACkAWAEqAIYATACrABgAZwAZAJ4BLQC0AFEAYAAvAJ8BHACgAR8AfAANAAIANAARAEYBIgA2ACQACgAmABAAJwAuACkAoQBKAFUA'
			..'KgAdAC0A6wEvAAECHAA8ADIAMwAfAHgADgACAN8BEQACAiIANgAkAGcBJgAQACcAAwIUADMAKgBLABgAKwAZAOMBLQAdAVEAowAvAAQCMgAdAAUARQAOAAIABQIHAAgACQAKAAsABgINAAcCDwAQABEACAITAAgAFAAJAhYACgIYAAkCGQALAhsACgAcAB0AHgCJAAIADQAMAhQACQIfAIoAEAACAA0CRwAOAhEADwIiACUAJABnASYAEAAnABACKgARAkwAEgIYAGcAGQATAi0AHQFRAGoALwAUAhwAFQIyABYCHwCKAA4AAgBFAREAFwIiADYAJgAQACcAuwAUADMAKgBIARgAKwAZABgCLQAZAlEAYAAvABoCHABNATIAMwAfAIoAEAACABsCRwAOAhEAHAIiACUAJABnASYAEAAnALsAKgARAkwAEgIYAGcAGQATAi0AOgBRAGoALwAdAhwAFQIyABYCHwCKAA0AAgAeAhEAFwIiACMAJAAlACYAEAAnALsAFAAzACoAJQAZAB8CLQAuAC8AIAIcACECMgAzAB8AigAOAAIAIgIR'
			..'ABcCIgAlACQAJQAmABAAJwAjArEACAAUADMAKgBLABgAKwAZACQCLQAlAlEAYAAvAAQCHwCKAAsAAgAeAREAHAImABAAJwAmAhgAZwAZAHYBLQC0AFEAIwEvACcCHAAlATIAHQAfAIoADgACADgBEQAcAiYAEAAnALAAFAA3ACoAOQFMADoBGABnABkAOwEtADwBUQBgAC8AugBUAD0BHAA+AR8AigAOAAIAKAIRABwCIgAlACQACgAmABAAJwApAhQAMwAqADkBGAAqAhkAKwItACwCLwAtAhwALgIyAB0AHwCKAA0AAgAgABEAFwIiACMAJAAKACYAEAAnAC8CFAAzACoAhgAYACsAGQAwAi0AhwEvADECHAAhAh8AigAMAAIAMgIRABwCIgCGACYAEAAnADMCSgBVACoAXQBMADQCGQA1Ai0ANgJRADcCLwBTAB8AigAMAAIAOAIRABwCIgCGACQAJQAmABAAJwAoACoAXQBMAG8AGQA1Ai0AHQFRADcCLwA5Ah8AigAPAAIAOgIRABcCJgAQACcALgBKAB0AFAA3ACoAhgBMADoB'
			..'GABnABkAOwEtADwBUQBgAC8AOwJUAD0BHAA8Ah8AigANAAIAPQIRABwCIgCGACQAJQAmABAAJwA+AhQAMwAqADkBGQCBAS0AbwAvAD8CHABAAjIAHQAfAIoADQACAEECEQAcAiIAhgAkADMAJgAQACcAPgIUADMAKgA5ARkAgQEtAG8ALwA/AhwAQAIyAB0AHwCKAA0AAgBCAhEAHAIiAIYAJAAzACYAEAAnACgASgBVACoAXQBMAG8AGQA1Ai0AHQFRAEMCLwBEAh8AiQAOAAIARQIRABwCIgBbACQAJQAmABAAJwAuABQAMwAqAEgBGAArABkARgItAB0BLwBHAhwATQEyAB0AHwCJAA4AAgBIAhEAHAIiAFsAJAAlACYAEAAnALsAFAAzACoASAEYACsAGQBJAi0AHQEvAGEAHABNATIAHQAfAIkADgACAEoCEQAcAiIAWwAkADMAJgAQACcAuwAUADMAKgBIARgAKwAZAEkCLQAdAS8AYQAcAE0BMgAdAB8AiQAOAAIASwIRABwCIgBbACQAMwAmABAAJwAuABQAMwAqAEgBGAAr'
			..'ABkARgItAB0BLwBHAhwATQEyAB0ABQBFAAkAAgBMAgkACgANAE0CFAAJAhYATgIYAAkCGQBPAhsACgAcAB0AHgCeAAIADQBjARQAZAEfAJ8AEAACAEoCRwBOAREAFwIiANoAJAAzACYAEAAnAAMCsQAIACoASAEYAGcAGQBQAi0AUAFRAKMALwBRAhwAUgIyAB0AHwCfABAAAgBFAREAFwIiAFsAJAAzACYAEAAnALsAsQAIABQAMwAqAEgBGAArABkAUwItAFABUQBLAS8AVAIcAE0BMgAdAB8AnwAOAAIAOAERABcCJgAQACcAOAAUADcAKgA5AUwAVQIYAGcAGQA7AS0APAFRAGAALwC6AFQAPQEcAD4BHwCfABAAAgBIAkcASAARABcCIgDaACQAMwAmABAAJwAsAbEACAAqAEgBTACDARgAKwAZAE8BLQBQAVEAowAvAM8AMgAdAB8AngAOAAIAVgJHAEgAEQAXAiIANgAmABAAJwBXAhQAMwAqAFgCGAArABkAWQItAFoCUQBgAC8AFAIyAPYBHwCeAA0AAgBbAkcAXAIRAF0C'
			..'IgCGACYAEAAnAC4AKgCHAEwAiAAYAGcAUQBeAi8AXwIcAGACMgAdAB8AngANAAIAYQIRABcCJABnASYAEAAnAJEAKQChABQANwAqAIcAGABnABkAYgItALQALwAUAhwAYwIfAJ4ADgACAHkARwCmACIANgAkACUAJgAQACcA0AAqAIYATACkARgAZwAZAGQCLQA6AFEAYAAvAIEAMgAdAAUARQAMAAIAZQILAGYCDQBnAhEAaAJpAjMAagJrAhQA5wEWAGwCbQIzABgA6QEZAG4CHAAdAB4AqAAAAB8AqQATAgIARgBHAEgAEQAhACIAJQAmABAAJwBJACkAHQBKAB0AKgBLAEwATQAYAE4AGQBvAi0A6wFRAFIALwBTAFQAVQAcAFYAVwAzADIANwASAQoABAElAB8AqQAOAgIAWQARACEAIgA2ACYAEAAnAC4AFAAzACoAXQBMAHACGAArABkAcQItAJwAUQBgAC8AcgIyADMAEgEKAAQBcwIfAKkADwICAGIAEQB0AiIAWwAkADcAJgAQACcAdQIqAGUATABmABgAZwAZAGICLQB2'
			..'AlEAagAvAGsAHABsADIAHQASAQoABAElAB8AqQAQAgIAbQBHAKYAEQB3AiIANgAkADcAJgAQACcALgAqAGUATABmABgAZwAZAGICLQB2AFEAagAvAHAAHABxADIAcgASAQoABAE2AB8AqQAPAgIAcwARAHQAIgA2ACQANwAmABAAJwDQACoAZQBMAGYAGABnABkAgQEtADoAUQBqAC8AcAAcAHcAMgAdABIBCgAEAYYAHwCpAA8CAgB5AEcAegARAHsAIgAlACQAJQAmABAAJwB8ACoAfQBMAGcAGABnABkAeAItAB0BUQCAAC8AgQAcAIIAEgEKAAQBhgAfAKkADgICAIMARwB6ABEAeQIiAIYAJgAQACcALgAqAIcATACIABgAZwAZAPcBLQBvAFEAYAAvAGsAHACMABIBCgAEAYYAHwCpABMCAgBGAEcAnwARAJgAIgA2ACQAMwAmABAAJwCgACkAoQAqAF0ATACiABgAZwAZAHoCLQAdAVEAowAvAKQAVABVABwApQBXADcAMgA3ABIBCgAEASUAHwCpAA0CAgBZABEAWgAiAHsC'
			..'JgAQACcAdQIUADMAKgBdABgAKwAZAHwCLQCoAFEAqQAvAH0CMgAzABIBCgAEAZAAHwCpAA4CAgBZABEAfgIiAFsAJAAlACYAEAAnADMCFAAzACoAXQBMAKsAGAArABkAfwItAJwAUQCsAC8AgAISAQoABAFLAB8AqQAPAgIAcwARAHQAIgAlACQANwAmABAAJwAuACoAZQBMAGYAGABnABkAgQEtAOsBUQBqAC8AcAAcAHcAMgAdABIBCgAEASUAHwCpAA0CAgBZABEACAEiAHsCJgAQACcAXgEUADMAKgBdABgAgQIZAHwCLQCoAFEAqQAvAIICMgA3ABIBCgAEAUsAHwCpAAwCAgCDAhEAtwAmABAAJwDCACkAHQCxAAgAKgA2ABgAsgAZANcALQC0AC8AwwAcALYAEgEKAAQBMwAfAKkADQICAK8AEQAIASYAEAAnANAAsQAIABQANwAqADYATAC4ABgAsgAZAIQCLQC0AC8AhQIcANkAEgEKAAQBMwAfAKkADQICAIYCEQAhACYAEAAnAPwAKQDfALEACAAUADcAKgA2ABkAhAIt'
			..'ALQALwCHAlQAiAIcAIkCEgEKAAQBHQAfAKkACwICADQAEQCKAiIAJQAmABAAJwAuACoAHQBMACEBGQDOAS8AyQAcADwAMgAdABIBCgAEAR0AHwCpAA0CAgCvABEACAEmABAAJwDQALEACAAUADcAKgA2AEwAuAAYALIAGQCEAi0AtAAvAIsCHADZABIBCgAEAR0AHwCpAA8CAgBVAREAIQAiAFYBJAAlACYAEAAnAIwCKQBYASoAhgBMAKsAGABnABkAjQItAI4CUQBgAC8AMAAyAI8CEgEKAAQBNgAFAEUADgACAJACBwAIAJECNwAJADcACwBmAg0AkgIPABAAEQBoApMCNwBpAjcAFgCUAm0CNwAZAJUCHAAdAB4AvAACAA0AlgIWAJcCHwC9AA4CAgDuAUcASAARAJgCIgB7AiQAJQAmABAAJwCRACkAHQAqAIYAGQCZAi0AmgJRAGAALwCbAhwAWgESAQoABAE2AB8AvQAQAgIAVQERAJgCIgBWASQAJQAmABAAJwBXASkAWAEqAIYATACrABgAZwAZAFkBLQA6AFEAYAAvADAA'
			..'VABVABwAWgESAQoABAE2AB8AvQAOAgIA7gERAJwCIgBWASQAJQAmABAAJwD8ABQAMwAqAIYAGAArABkA8AEtAJ0CUQBgAC8ABAIcAFoBEgEKAAQBNgAfAL0ADQICAJ4CEQCfAiQAJQAmABAAJwB1AhQANwAqADYATACgAhgAbwAZAKECLQC0AC8AogIcAKMCEgEKAAQBMwAfAL0ADAICAJ4CEQCkAiQAJQAmABAAJwD8ACoANgAZAM4BLQC0AFEAYAAvAKUCHACjAjIAHQASAQoABAEzAB8AvQALAgIAngIRAKYCJAAlACYAEAAnAC4AKgA2ABkApwItALQAUQBgAC8AqAIcAKkCEgEKAAQBMwAFAEUABwACAKoCCQAKAA0AqwIWAKwCGQBPAhsACgAcAB0AHgDEAAEAAgCtAh8AxQANAQIArgIRAK8CIgA2ACQANwAmABAAJwC7ACkAHQCxAAgAKgA2ABgAZwAvALgBHAC5ATIAHQAEATMAHwDFAAwBAgCwAhEAsQIiADYAJAA3ACYAEAAnADMCKgAdAEwAsgIZALMCLwC0AhwAtQIy'
			..'ADMABAEdAAUARQANAAIAtgIHAAgACQAKAAsABgINALcCDwAQABEACAIUAAkCFgC4AhgACQIZAAsCGwAKABwAHQAeAMgAAQACALkCHwDJABACAgANAkcADgIRAA8CIgAlACQAZwEmABAAJwC6AioAEQJMABICGABnABkAEwItAB0BUQBqAC8AFAIcABUCMgAWAhIBCgAEAQUBHwDJABACAgA6AkcAuwIRABcCJgAQACcALgBKAB0AFAA3ACoAhgBMADoBGABnABkAOwEtADwBUQBgAC8AOwJUAD0BHAA8AhIBCgAEASUABQBFAAcAAgC8AgkACgANAL0CFgC+AhkAvwIbAAoAHAAdAB8AzAAPAQIA+QBHAKkBEQAIASIAwAImABAAJwBJACkAoQAqAEgBTADBAhkAwgItAOsBUQBqAC8AwwJXACUAMgDfAAQBcwIfAMwAEAECAPkARwDEAhEACAEmABAAJwDFAikA3wAUADMAKgBLAEwA/QAYAP4AGQD/AC0AAAFRAAEBLwACARwAAwEyAN8ABAFzAh8AzAAPAQIABgFHAAcBEQAIASYA'
			..'EAAnAMYCKQDfABQAMwAqAEsATAD9ABgA/gAZAP8ALQAAAVEAAQEvAMcCHAADAQQBcwIfAMwAEAECAAYBRwAHAREACAEmABAAJwDIAikA3wAUADMAKgBLAEwA/QAYAP4AGQD/AC0AAAFRAAEBLwAJARwAAwEyAHgABAFzAh8AzAAPAQIA+QBHAMkCEQAIASIAwAImABAAJwBJACkAoQAqAEgBTADBAhkAygItAOsBUQBqAC8AwwJXACUAMgDfAAQBcwIFAEUACQACAMsCBwAIAAkACgANAMwCDwAQABYAzQIZAM4CGwAKABwAHQAeANIAAAAfANMADwECAM8CEQDQAiIAhgAkACUAJgAQACcA0QIpAB0AFAAzACoAWAIYACsAGQDSAi0AHQFRAKwALwAEAjIA9gEEATYAHwDTAA8BAgBzAEcASAARAF0CIgDTAiYAEAAnANAAKgCHAEwAiAAYAGcAGQDUAi0AHQFRANUCLwBfAhwAYAIyAB0ABAEFAR8A0wAOAQIArwARALcAJgAQACcA0ACxAAgAFAA3ACoANgBMANYCGACyABkA1wIt'
			..'ALQALwB3ARwAtgAyADMABAEzAB8A0wAOAQIA2AIRANACIgCGACYAEAAnANECKQAdABQAMwAqAFgCGAArABkA0gItAB0BUQAPAS8ABAIyAPYBBAE2AB8A0wAMAQIAgwIRALcAJgAQACcA2QKxAAgAFAA3ACoANgAZAIEBLQC0AC8AdAEcALYAMgAzAAQBMwDaAgEAAgACANsC3QLeAt8C2QAKAAIA4AILAOECDQDiAhEA4wJqAuQCFgDlAhkA5gLnAugC6QLqAusC7AIeANoAAQACAO0CHgDaAAMAAgDlAA0A7gIWAO8C6ADcAAgAAgCYAREA8AInAPECLwDuAO8A8ADxADMAHADyAPMA9ADoANwACAACAPICEQDzAicAVQAvAO4A7wDwAPEAMwAcAPIA8wD0AOgA3AAJAAIA9AIRAPUC7QAIACcA8QIvAPYC7wDwAPEAMwAcAPIA8wD3Ah4A2gADAAIA5QANAPgCFgD5Ah8A2gAMAQIAqAERAAgBIgBWASQAJQAnAKoBKgCGAEwAqwAYAGcAGQD6AlEAYAAvAKwBHABaAQQBhgAfANoA'
			..'DgECAO4BRwBIABEACAEiADYAJAAlACcALgApAFgBKgCGAEwAqwAYAGcAGQDwAVEAYAAvADAAHADxAQQBNgDaAgEAAgACAPsC3QL8Av0C4wAFAP4CEAD/AjMAAANVAAEDkAACA3sCAwPkAAAABQDjAAsAAgAEAwkACgANAAUDDwAQAGoCBgMUAOcBFgAHAxgA6QEZAAgDGwAKABwAHQAJA+YAAQACAAoDCQPmAAIAAgANAw4DDwMFAOMACQACAA0DCQAKAA0AEANqAgYDFAARAxYAEgMYABMDGQAUAxsACgAVA+kABAAWAxcD5wLoAhgD7AIZAyUAHgDpAAMAAgDrAA0AGgMWABsDHgDpAAMAAgAcAw0AHQMWAB4D6ADpAAUAJwBVAEoAHQAvAB8D8QAzABwAswIeAOkAAQACACADHwDuABACAgAgAxEAIQMiADYAJABnASYAEAAnACIDKQAdALEACAAUADMAKgBLAEwAgwEZACMDLQBaAlEAYAAvACQDHABNARIBJQMEAYYAHwDuAA8CAgChAUcAyQIRACEDIgCGACQAZwEmABAAJwAm'
			..'AykAHQCxAAgAKgBYAhkAJwMtACgDUQBgAC8AKQMyADMAEgEKAAQBNgAfAO4ADAECADQAEQAhAyIAKgMkAGcBJgAQACcAuwAqAB0AGQArAy0AtwEvACwDHAAtAzIAMwAEAR0AHwDuAA8BAgAuAxEAmAIiACUAJABnASYAEAAnALsAKQAdALEACAAqADYAGABnABkAYgItALcBLwC4ARwAuQEyAB0ABAEzAB8A7gALAQIANAAiADYAJAAKACYAEAAnADMCKgAdAEwAsgIZALMCLwAvAxwAtQIyADMABAEdAB8A7gAMAQIANAARADADIgA2ACQANwAmABAAJwAzAioAHQBMALICLQDrAS8AMQMcALUCMgAzAAQBHQAeAOkAAQACADIDHwD1AAsBAgAzAyIANgAkAAoAJgAQACcAMwIqAB0ATACyAhkAswIvADQDHAC1AjIAMwAEAR0AHwD1AAsBAgA1AyIANgAkAAoAJgAQACcAuwApAB0AsQAIACoANgAYAGcALwC4ARwAuQEEAR0AHgDpAAMAAgA2Aw0ANwMWADgDHwD4AA0CAgD5AEcA'
			..'+gARADkDJwDQACkA3wAqAEsATAD9ABgA/gAZADoDLQAuAFEAiwAvAAIBHAADARIBCgAEAQUBHgDpAAMAAgA2Aw0AOwMWADwDHwD6AA0CAgD5AEcA+gARADkDJwDQACkA3wAqAEsATAD9ABgA/gAZADoDLQAuAFEAiwAvAAIBHAADARIBCgAEAQUBHgDpAAMAAgA9Aw0APgMWAD8DHwD8AA0BAgCzAREAmAIiACUAJABnASYAEAAnALsAKQAdALEACAAqADYAGABnAC0AtwEvALgBHAC5AQQBMwAfAPwADgICAEADEQAhAyIAhgAkAGcBJgAQACcAJgMpAB0AsQAIACoAWAIYAGcAGQBBAy0AtwFRAGAALwApAxIBCgAEATYAHwD8AA4BAgCzAREAmAIiACUAJABnASYAEAAnALsAKQAdALEACAAqADYAGABnABkA0gEtALcBLwC4ARwAuQEEATMAHgDpAAEAAgCtAh8AAAENAQIArgIRAK8CIgA2ACQANwAmABAAJwC7ACkAHQCxAAgAKgA2ABgAZwAvALgBHAC5ATIAHQAEATMAHwAA'
			..'AQwBAgCwAhEAsQIiADYAJAA3ACYAEAAnADMCKgAdAEwAsgIZALMCLwC0AhwAtQIyADMABAEdAB4A6QABAAIAQgMfAAMBDQECALMBEQAcAiIAJQAkAGcBJwC7ACkAHQCxAAgAKgA2ABgAZwAZAEMDLQC3AS8AcAAcALkBBAEzAB8AAwEOAQIAQAMRAEQDIgAlACQAZwEnALsAKQAdALEACAAqADYAGABnABkAQwMtALcBLwDTARwAuQEyAEUDBAEzAB8AAwEOAQIARgMRAEcDIgAlACQAZwEnALsAKQAdALEACAAUADcAKgA2ABkASAMtALQALwApAxwAuQEyAEkDBAEzAAUA4wAKAAIACgMJAAoADQAFA2oCBgMUAOcBFgAHAxgA6QEZAAgDGwAKABwAHQBKAwcBBQACAEsDTANlAE0DewJOAzcATwNQA0oDBwEGAAIAUQNMA2UATQN7Ak4DNwBPA1IDUwNUA0oDBwEHAAIAVQNWAwgATANlAE0DewJOAzcATwNXA1MDHQAfAAcBDQACAFgDEQBZAycA0AApAB0AsQAIACoASwBMAFoD'
			..'GABnABkAQwMtALQAUQBqAC8AWwMcAFwDHgAHAQMAAgBdAw0AXgMWAF8DYAMMAQsAAgBhAxEAmADtAAgAKQBrAS8AYgPvADMA8QAzAGMDoQAcAGQDZQMzAGYDCgBgAwwBCgACAGEDEQAhA+0ACAApAB0ALwBnA+8ANgDxADMAYwNoAxwAaQNmA1UAYAMMAQsAAgBhAxEAagPtAAgAKQBrAS8AawPvADMA8QAzAGMDbAMcAG0DZQM3AGYDCgBgAwwBCwACAGEDEQBqA+0ACAApAGsBLwBuA+8AMwDxADMAYwNvAxwAcANlAzMAZgMKAB4ABwEDAAIAcQMNAHIDFgBzA2ADEQELAAIAYQMRAJgA7QAIACkAawEvAGID7wAzAPEAMwBjA6EAHABkA2UDMwBmAwoAYAMRAQoAAgBhAxEAIQPtAAgAKQAdAC8AZwPvADYA8QAzAGMDaAMcAGkDZgNVAGADEQELAAIAYQMRAGoD7QAIACkAawEvAGsD7wAzAPEAMwBjA2wDHABtA2UDNwBmAwoAYAMRAQsAAgBhAxEAagPtAAgAKQBrAS8AbgPv'
			..'ADMA8QAzAGMDbwMcAHADZQMzAGYDCgAeAAcBAwACAHQDDQB1AxYAdgNgAxYBCwACAGEDEQCYAO0ACAApAGsBLwBiA+8AMwDxADMAYwOhABwAZANlAzMAZgMKAGADFgEKAAIAYQMRACED7QAIACkAHQAvAGcD7wA2APEAMwBjA2gDHABpA2YDVQBgAxYBCwACAGEDEQBqA+0ACAApAGsBLwBrA+8AMwDxADMAYwNsAxwAbQNlAzcAZgMKAGADFgELAAIAYQMRAGoD7QAIACkAawEvAG4D7wAzAPEAMwBjA28DHABwA2UDMwBmAwoAHgAHAQMAAgB3Aw0AeAMWAHkDYAMbAQsAAgBhAxEAmADtAAgAKQBrAS8AYgPvADMA8QAzAGMDoQAcAGQDZQMzAGYDCgBgAxsBCgACAGEDEQAhA+0ACAApAB0ALwBnA+8ANgDxADMAYwNoAxwAaQNmA1UAYAMbAQsAAgBhAxEAegPtAAgAKQBrAS8AawPvADMA8QAzAGMDbAMcAG0DZQM3AGYDCgBgAxsBCwACAGEDEQB6A+0ACAApAGsBLwBuA+8A'
			..'MwDxADMAYwNvAxwAcANlAzMAZgMKAB4ABwEDAAIAewMNAHwDFgB9A2ADIAEMAAIAYQMRAJgAJgAQAO0ACAApAGsBLwBiA+8AMwDxADMAYwOhABwAZANlAzMAZgMKAGADIAELAAIAYQMRACEAJgAQAO0ACAApAB0ALwBnA+8ANgDxADMAYwNoAxwAaQNmA1UAYAMgAQwAAgBhAxEAfgMmABAA7QAIACkAawEvAGsD7wAzAPEAMwBjA2wDHABtA2UDNwBmAwoAYAMgAQwAAgBhAxEAfgMmABAA7QAIACkAawEvAG4D7wAzAPEAMwBjA28DHABwA2UDMwBmAwoAHgAHAQEAAgDKAB8AJQEOAQIArwARACEAJgAQACcAsAApAB0ASgAdALEACAAUADcAKgA2ABgAsgAZAH8DLQC0AC8AtQAcALYABAEdAB8AJQENAQIArwARALcAJgAQACcAXACxAAgAFAA3ACoANgBMALgAGACyABkAfwMtALQALwC6ABwAtgAEATMAHwAlAQwBAgCvABEAtwAmABAAJwC7ALEACAAUADcAKgA2ABgAsgAZ'
			..'AH8DLQC0AC8AvAAcALYABAEzAB8AJQENAQIArwARALcAJgAQACcAwgApAB0AsQAIABQANwAqADYAGACyABkAfwMtALQALwDDABwAtgAEATMAHwAlAQoBAgA0ABEAxgAiACUAJgAQACcAxwAqAB0AGQDOAS8AyQAcADwAMgAzAAQBHQAeAAcBAQACAIADHwArARMBAgBGAEcASAARACEAIgAlACYAEAAnAC4AKQAdAEoAHQAqAEsATABNABgATgAZAHoCLQDrAVEAUgAvAFMAVABVABwAVgBXADMAMgBYAAQBNgAfACsBDQECAFkAEQBaACIAhgAmABAAJwDQABQAMwAqAF0AGAArABkAcQItAF8AUQBgAC8AYQAyADMABAFYAh8AKwEPAAIAYgARAGMAIgBbACQANwAmABAAJwB1AioAZQBMAGYAGABnABkAYgItAGkAUQBqAC8AawAcAGwAMgAdAB8AKwEOAQIAbQARAG4AIgA2ACQANwAmABAAJwAuACoAZQBMAGYAGABnAC0AdgBRAGoALwBwABwAcQAyAHIABAE2AB8AKwEPAAIA'
			..'cwARAHQAIgA2ACQANwAmABAAJwAuACoAZQBMAGYAGABnABkAgQEtAOsBUQBqAC8AcAAcAHcAMgAdAB8AKwEPAQIAeQBHAHoAEQB7ACIAJQAkACUAJgAQACcAfAAqAH0ATABnABgAZwAZAHgCLQAdAVEAgAAvAIEAHACCAAQBhgAfACsBDgECAIMARwCEABEAhQAiAIYAJgAQACcALgAqAIcATACIABgAZwAZAPcBLQCBA1EAiwAvAGsAHACMAAQBhgAfACsBEAECAI0ARwCOABEAjwAiAJAAJAAlACYAEAAnAJEAKgCHAEwAiAAYAGcAGQBiAi0AbwBRAJMALwCUABwAlQBXAJYABAGWAB8AKwETAQIARgBHAJ8AEQCYACIANgAkADMAJgAQACcAoAApAKEAKgBdAEwAogAYAGcAGQB6Ai0AHQFRAKMALwCkAFQAVQAcAKUAVwA3ADIANwAEAQUBHwArAQ4AAgBZAEcApgARAFoAIgA2ACYAEAAnAC4AFAAzACoAXQAYACsAGQCCAy0AqABRAKkALwCqADIAMwAfACsBDgECAFkAEQBa'
			..'ACIAWwAkACUAJgAQACcALgAUADMAKgBdAEwAqwAYACsAGQB/Ai0AdgBRAKwALwCDAwQBSwAfACsBDwACAHMAEQB0ACIAJQAkADcAJgAQACcALgAqAGUATABmABgAZwAZAIEBLQDrAVEAagAvAHAAHAB3ADIAHQBKAwcBBwACAIQDVgMIAEwDZQBNA3sCTgM3AE8DhQNTAx0AAQABAAEAAgCGAwUAOQENAAIAhwMJAAoACwCIAw0AiQMPABAAigMQABEAiwMTAAgAagLkAhYAjAMZAI0DGwAKABwAHQDoADoBBQARAI4DJgAQACcAtQFKAB0AHADZAB4AOgEDAAIAjwMNAJADFgCRAx4AOgEDAAIAkgMNAJMDFgCUAx4AOgEDAAIAlQMNAJYDFgCXA+gAPgEJAAIAmAMRAJkDJgAQAO0ACAAnALUBKQAdAC8AmgMcAPIA8wDUAugAPgEKABEAmQMmABAA7QAIACcAtQEpAB0ALwCbA+8A8ADxADMAHADyAPMA1ALoAD4BDAACAJwDEQCZAyYAEADtAAgAJwDiASkAHQCdAwoALwCeA+8A'
			..'nwPxADMAHACgA/MAoQPoAD4BCAARAJkDJgAQAO0ACAAnAPUAKQAdAC8AogMcAPIA8wDUAugAPgEKAAIAnAMRAJkDJgAQAO0ACAAnAOIBKQAdAJ0DCgAvAKMDHACgA/MApAMeADoBAgANAKUDFgCmA6cDOgECAAIAqAMOA6kDpwM6AQIAAgCqAw4DqwOnAzoBAgACAKwDDgOtA6cDOgECAAIArgMOA68DpwM6AQIAAgCwAw4DsQOnAzoBAgACALIDDgOzA6cDOgECAAIAtAMOA7UD2gI6AQIAAgC2A90CtwPfAkwBDQACALQDCwBmAg0AuAMPABAAEQBoAhMACABqArkDFADnARYAugMYAOkBGQC7A+cCvAPpArsDLwBNAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwBNAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAE0BBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAE0BBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAE0BBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAv'
			..'AE0BBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAkwBDQACALADCwBmAg0AyQMPABAAEQBoAhMACABqArkDFADnARYAygMYAOkBGQDLA+cCzAPpAssDLwBUAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwBUAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAFQBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAFQBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAFQBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAFQBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAkwBDQACALIDCwBmAg0AzQMPABAAEQBoAhMACABqArkDFADnARYAzgMYAOkBGQDPA+cC0APpAs8DLwBbAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwBbAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAFsBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAFsBBgACAMYDvgMdAL8DwAMvAMED'
			..'wgNVAMMDVQAvAFsBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAFsBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAkwBDQACAKoDCwBmAg0A0QMPABAAEQBoAhMACABqAtIDFADnARYA0wMYAOkBGQDUA+cC1QPpAtQDLwBiAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwBiAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAGIBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAGIBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAGIBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAGIBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAkwBDQACAKgDCwDWAw0A1wMPABAAEQDYAxMACABqArkDFADnARYA2QMYAOkBGQDaA+cC2wPpAtoDLwBpAQYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwBpAQUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAGkBBgACAMUDvgNn'
			..'Ab8D3AMvAMEDwgNVAMMDVQAvAGkBBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAGkBBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAGkBBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAkwBDQACAKwDCwBmAg0A3QMPABAAEQBoAhMACABqArkDFADnARYA3gMYAOkBGQDfA+cC4APpAt8DLwBwAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwBwAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAHABBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAHABBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAHABBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAHABBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAkwBDQACAK4DCwBmAg0A4QMPABAAEQBoAhMACABqAtIDFADnARYA4gMYAOkBGQDjA+cC5APpAuMDLwB3AQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UA'
			..'LwB3AQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAHcBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAHcBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAHcBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAHcBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQAFADkBDAACAOUDCQAKAAsA5gMNAOcDDwAQABEA6AMTAAgAagLkAhYA6QMZAI0DGwAKABwAHQAeAH4BAwACAI8DDQDqAxYA6wMeAH4BAwACAJIDDQDsAxYA7QPoAH4BBQARAI4DJgAQACcAtQFKAB0AHADZAB4AfgEDAAIAlQMNAJYDFgCXA+gAggEJAAIAmAMRAJkDJgAQAO0ACAAnALUBKQAdAC8AmgMcAPIA8wDUAugAggEKABEAmQMmABAA7QAIACcAtQEpAB0ALwCbA+8A8ADxADMAHADyAPMA1ALoAIIBDAACAJwDEQCZAyYAEADtAAgAJwDiASkAHQCdAwoALwCeA+8AnwPxADMAHACgA/MAoQPoAIIBCAAR'
			..'AJkDJgAQAO0ACAAnAPUAKQAdAC8AogMcAPIA8wDUAugAggEKAAIAnAMRAJkDJgAQAO0ACAAnAOIBKQAdAJ0DCgAvAKMDHACgA/MApAMeAH4BAgANAKUDFgCmA6cDfgECAAIA7gMOA+8DpwN+AQIAAgDwAw4D8QOnA34BAgACAPIDDgPzA6cDfgECAAIA9AMOA/UDpwN+AQIAAgD2Aw4D9wOnA34BAgACAPgDDgP3A6cDfgECAAIA+QMOA/oD2gJ+AQIAAgD7A90C/APfApABDQACAPADCwBmAg0A/QMPABAAEQBoAhMACABqAtIDFADnARYA/gMYAOkBGQD/A+cCAATpAv8DLwCRAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCRAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAJEBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAJEBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAJEBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAJEBBgACAMgDvgMKAL8DwAMvAMED'
			..'wgNVAMMDVQDfApABDQACAO4DCwBmAg0AAQQPABAAEQBoAhMACABqArkDFADnARYAAgQYAOkBGQADBOcCBATpAgMELwCYAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCYAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAJgBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAJgBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAJgBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAJgBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfApABDQACAPkDCwBmAg0ABQQPABAAEQBoAhMACABqAtIDFADnARYABgQYAOkBGQAHBOcCCATpAgcELwCfAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCfAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAJ8BBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAJ8BBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAJ8BBgACAMcDvgM3'
			..'AL8DwAMvAMEDwgNVAMMDVQAvAJ8BBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfApABDQACAPYDCwBmAg0ACQQPABAAEQBoAhMACABqArkDFADnARYACgQYAOkBGQALBOcCDATpAgsELwCmAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCmAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAKYBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAKYBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAKYBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAKYBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfApABDQACAPQDCwBmAg0ADQQPABAAEQBoAhMACABqArkDFADnARYADgQYAOkBGQAPBOcCEATpAg8ELwCtAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCtAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAK0BBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAK0B'
			..'BgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAK0BBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAK0BBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfApABDQACAPgDCwBmAg0ACQQPABAAEQBoAhMACABqArkDFADnARYACgQYAOkBGQARBOcCEgTpAhEELwC0AQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwC0AQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvALQBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvALQBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvALQBBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvALQBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfApABDQACAPIDCwDWAw0AEwQPABAAEQDYAxMACABqArkDFADnARYAFAQYAOkBGQAVBOcCFgTpAhUELwC7AQYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwC7AQUAAgDEA78D3AMvAMEDwgNV'
			..'AMMDVQAvALsBBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvALsBBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvALsBBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvALsBBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQAXBAEABAACABgEJgAQABkEaAMaBKEA2gIBAAIAAgBYA90CGwQfAMMBDwACAFgDRwBIACIAHQAnANAAKQAdAEoAHQCxAAgAKgA2ABgAZwAZABwELQC7AVEAHQQvAB4EHAAfBDIA3wAfAMMBDAACAFgDJwBsAbEACAAqAIYATABaAxgAZwAZACAELQA4AFEAagAvAFsDHAAhBDIA3wAfAMMBDwACAFgDRwBIACIAHQAnACIEKQAdAEoAHQCxAAgAKgAjBBgAZwAZACQELQC7AVEAHQQvACUEHAAmBDIA3wAfAMMBEAACAFgDRwCfACIAJQAnADMCKQAdAEoAHQCxAAgAKgAnBEwAsgIYAGcAGQAoBC0AuwFRAB0ELwApBBwAKgQyAN8AHwDDAQ0AAgBYA0cA'
			..'KwQnAC4AsQAIACoAJQBMACwEGABnABkALQQtADgAUQBqAC8ApAAcAC4EMgAdAB8AwwEPAAIAWANHAEgAIgAdACcAIgQpAB0ASgAdALEACAAqACMEGABnABkAHAQtALsBUQAdBC8AHgQcAB8EMgDfAAUAAQAMAAIALwQHAAgACQAKAA0AMAQPABAAigMQABMACAAWADEEGQAyBBsACgAcAB0AMwQKADQEygEGAAIANQQ2BB0ANwQIADgECAA5BAgAGQA6BDsEywEMAAIAPAQ9BD4EPwQdABkAQARBBEIEQwREBEUEPgRGBAgARwRIBEkESgRLBAoATAQIAE0EzAECABEATgQYAE8EBQABAA0AAgBQBAcACAAJAAoACwBRBA0AUgQRAFMEagK5AxQAVAQWAFUEGABWBBkAGgEbAAoAHABVAB8AzgEOAAIAVwQRAFgEIgDwACcAsAApAB0AKgBZBEwAWgQYAGcAGQBbBC0AXARRAGoALwBdBBwAXgQyAF8EHwDOAQkAEQBgBCcALgApAB0AKgAlAEwAYQQYAGIEGQBjBFEAZAQvAGUEBQAB'
			..'AAwAAgBmBAcACAAJAAoADQAwBA8AEACKAxAAEwAIABYAMQQZAGcEGwAKABwAHQAzBAoANATRAQYAAgA1BDYEHQA3BAgAOAQIADkECAAZADoEOwTSAQwAAgA8BD0EPgQ/BB0AGQBABEEEQgRDBGgERQQ+BEYECABHBEgESQRKBEsECgBMBAgATQTTAQIAEQBpBBgATwQFAAEACgACAGoEBwAIAAkACgANAGsEDwAQABMACAAWAGwEGQBtBBsACgAcAB0AHwDVAQoAAgBuBBEAbwQiAMACJwD8ACoAcAQZAHEELQByBFEAagAvAHMEHAB0BHUE1QEBAC8AdgR3BAEAAwACAHgENgQdAHkECAB6BNgBBQACAHsEfAR9BD0EfgQWAH8EGQCABHoE2AEFAAIAgQR8BH0EPQR+BBYAggQZAIAENAQBAAgAAgCDBDYEHQA3BAgAOAQIAEoAHQCEBIUEGQCGBIcEnwA7BNsBCwACADwENwQIAD0EPgQ/BB0AGQBABEEEIwBDBIgERQQ+BEYECABHBHsCTAQIANoCAQACAAIAiQTdAooE2gLdAQIA'
			..'AgCLBN0CjATfAt4BDQACAI0ECwBmAg0AjgQPABAAEQBoAhMACABqAtIDFADnARYAjwQYAOkBGQCQBOcCkQTpApAELwDfAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwDfAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAN8BBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAN8BBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAN8BBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAN8BBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAt4BDQACAJIECwBmAg0AkwQPABAAEQBoAhMACABqAtIDFADnARYAlAQYAOkBGQCVBOcClgTpApUELwDmAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwDmAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAOYBBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAOYBBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAOYBBgACAMcDvgM3'
			..'AL8DwAMvAMEDwgNVAMMDVQAvAOYBBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAt4BDQACAJcECwBmAg0AmAQPABAAEQBoAhMACABqArkDFADnARYAmQQYAOkBGQCaBOcCmwTpApoELwDtAQYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwDtAQUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAO0BBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAO0BBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAO0BBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAO0BBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAt4BDQACAJwECwDWAw0AnQQPABAAEQDYAxMACABqArkDFADnARYAngQYAOkBGQCfBOcCoATpAp8ELwD0AQYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwD0AQUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAPQBBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvAPQB'
			..'BgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAPQBBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAPQBBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAt4BDQACAKEECwDWAw0AogQPABAAEQDYAxMACABqArkDFADnARYAowQYAOkBGQCkBOcCpQTpAqQELwD7AQYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwD7AQUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAPsBBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvAPsBBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAPsBBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAPsBBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAt4BDQACAKYECwBmAg0ApwQPABAAEQBoAhMACABqArkDFADnARYAqAQYAOkBGQCpBOcCqgTpAqkELwACAgYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwACAgUAAgDEA78DwAMvAMEDwgNV'
			..'AMMDVQAvAAICBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAAICBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAAICBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAAICBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAt4BDQACAKsECwDWAw0ArAQPABAAEQDYAxMACABqArkDFADnARYArQQYAOkBGQCuBOcCrwTpAq4ELwAJAgYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwAJAgUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAAkCBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvAAkCBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAAkCBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAAkCBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAt4BDQACALAECwDWAw0AsQQPABAAEQDYAxMACABqArkDFADnARYAsgQYAOkBGQCzBOcCtATpArMELwAQAgYAAgC9A74D'
			..'MwC/A9wDLwDBA8IDVQDDA1UALwAQAgUAAgDEA78D3AMvAMEDwgNVAMMDVQAvABACBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvABACBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvABACBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvABACBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAt4BDQACALUECwDWAw0AtgQPABAAEQDYAxMACABqArkDFADnARYAtwQYAOkBGQC4BOcCuQTpArgELwAXAgYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwAXAgUAAgDEA78D3AMvAMEDwgNVAMMDVQAvABcCBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvABcCBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvABcCBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvABcCBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDaAt0BAgACALoE3QK7BN8CHgINAAIAvAQLANYDDQC9'
			..'BA8AEAARANgDEwAIAGoCuQMUAOcBFgC+BBgA6QEZAL8E5wLABOkCvwQvAB8CBgACAL0DvgMzAL8D3AMvAMEDwgNVAMMDVQAvAB8CBQACAMQDvwPcAy8AwQPCA1UAwwNVAC8AHwIGAAIAxQO+A2cBvwPcAy8AwQPCA1UAwwNVAC8AHwIGAAIAxgO+Ax0AvwPcAy8AwQPCA1UAwwNVAC8AHwIGAAIAxwO+AzcAvwPcAy8AwQPCA1UAwwNVAC8AHwIGAAIAyAO+AwoAvwPcAy8AwQPCA1UAwwNVAN8CHgINAAIAwQQLANYDDQDCBA8AEAARANgDEwAIAGoC0gMUAOcBFgDDBBgA6QEZAMQE5wLFBOkCxAQvACYCBgACAL0DvgMzAL8D3AMvAMEDwgNVAMMDVQAvACYCBQACAMQDvwPcAy8AwQPCA1UAwwNVAC8AJgIGAAIAxQO+A2cBvwPcAy8AwQPCA1UAwwNVAC8AJgIGAAIAxgO+Ax0AvwPcAy8AwQPCA1UAwwNVAC8AJgIGAAIAxwO+AzcAvwPcAy8AwQPCA1UAwwNVAC8AJgIGAAIA'
			..'yAO+AwoAvwPcAy8AwQPCA1UAwwNVAN8CHgINAAIAxgQLAGYCDQDHBA8AEAARAGgCEwAIAGoC0gMUAOcBFgDIBBgA6QEZAMkE5wLKBOkCyQQvAC0CBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvAC0CBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8ALQIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8ALQIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8ALQIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8ALQIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CHgINAAIAywQLAGYCDQDMBA8AEAARAGgCEwAIAGoCuQMUAOcBFgDNBBgA6QEZAM4E5wLPBOkCzgQvADQCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvADQCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8ANAIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8ANAIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNV'
			..'AC8ANAIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8ANAIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CHgINAAIA0AQLAGYCDQDRBA8AEAARAGgCEwAIAGoC0gMUAOcBFgDSBBgA6QEZANME5wLUBOkC0wQvADsCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvADsCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8AOwIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8AOwIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8AOwIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8AOwIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CHgINAAIA1QQLAGYCDQDWBA8AEAARAGgCEwAIAGoCuQMUAOcBFgDXBBgA6QEZANgE5wLZBOkC2AQvAEICBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvAEICBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8AQgIGAAIAxQO+A2cBvwPAAy8A'
			..'wQPCA1UAwwNVAC8AQgIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8AQgIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8AQgIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CHgINAAIA2gQLANYDDQDbBA8AEAARANgDEwAIAGoCuQMUAOcBFgDcBBgA6QEZAN0E5wLeBOkC3QQvAEkCBgACAL0DvgMzAL8D3AMvAMEDwgNVAMMDVQAvAEkCBQACAMQDvwPcAy8AwQPCA1UAwwNVAC8ASQIGAAIAxQO+A2cBvwPcAy8AwQPCA1UAwwNVAC8ASQIGAAIAxgO+Ax0AvwPcAy8AwQPCA1UAwwNVAC8ASQIGAAIAxwO+AzcAvwPcAy8AwQPCA1UAwwNVAC8ASQIGAAIAyAO+AwoAvwPcAy8AwQPCA1UAwwNVANoC3QECAAIA3wTdAuAE3wJQAg0AAgDwAwsAZgINAOEEDwAQABEAaAITAAgAagLSAxQA5wEWAOIEGADpARkA/wPnAgAE6QL/Ay8AUQIGAAIAvQO+AzMAvwPAAy8AwQPC'
			..'A1UAwwNVAC8AUQIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwBRAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwBRAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwBRAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwBRAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQAg0AAgDuAwsAZgINAOMEDwAQABEAaAITAAgAagK5AxQA5wEWAOQEGADpARkAAwTnAgQE6QIDBC8AWAIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8AWAIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwBYAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwBYAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwBYAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwBYAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQAg0AAgD5AwsAZgINAOUEDwAQABEAaAITAAgAagLSAxQA5wEWAOYE'
			..'GADpARkABwTnAggE6QIHBC8AXwIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8AXwIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwBfAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwBfAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwBfAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwBfAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQAg0AAgD2AwsAZgINAOcEDwAQABEAaAITAAgAagK5AxQA5wEWAOgEGADpARkACwTnAgwE6QILBC8AZgIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8AZgIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwBmAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwBmAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwBmAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwBmAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQ'
			..'Ag0AAgD0AwsAZgINAOkEDwAQABEAaAITAAgAagK5AxQA5wEWAOoEGADpARkADwTnAhAE6QIPBC8AbQIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8AbQIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwBtAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwBtAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwBtAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwBtAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQAg0AAgD4AwsAZgINAOcEDwAQABEAaAITAAgAagK5AxQA5wEWAOgEGADpARkAEQTnAhIE6QIRBC8AdAIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8AdAIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwB0AgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwB0AgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwB0AgYAAgDHA74DNwC/A8ADLwDBA8ID'
			..'VQDDA1UALwB0AgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wJQAg0AAgDyAwsA1gMNAOsEDwAQABEA2AMTAAgAagK5AxQA5wEWAOwEGADpARkAFQTnAhYE6QIVBC8AewIGAAIAvQO+AzMAvwPcAy8AwQPCA1UAwwNVAC8AewIFAAIAxAO/A9wDLwDBA8IDVQDDA1UALwB7AgYAAgDFA74DZwG/A9wDLwDBA8IDVQDDA1UALwB7AgYAAgDGA74DHQC/A9wDLwDBA8IDVQDDA1UALwB7AgYAAgDHA74DNwC/A9wDLwDBA8IDVQDDA1UALwB7AgYAAgDIA74DCgC/A9wDLwDBA8IDVQDDA1UA2gLdAQIAAgDtBN0C7gTfAoICDQACAO8ECwBmAg0A8AQPABAAEQBoAhMACABqAtIDFADnARYA8QQYAOkBGQDyBOcC8wTpAvIELwCDAgYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCDAgUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAIMCBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAv'
			..'AIMCBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAIMCBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAIMCBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAoICDQACAPQECwBmAg0A9QQPABAAEQBoAhMACABqAtIDFADnARYA9gQYAOkBGQD3BOcC+ATpAvcELwCKAgYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCKAgUAAgDEA78DwAMvAMEDwgNVAMMDVQAvAIoCBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAIoCBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAIoCBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAIoCBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAoICDQACAPkECwBmAg0A+gQPABAAEQBoAhMACABqAtIDFADnARYA+wQYAOkBGQD8BOcC/QTpAvwELwCRAgYAAgC9A74DMwC/A8ADLwDBA8IDVQDDA1UALwCRAgUAAgDEA78DwAMvAMED'
			..'wgNVAMMDVQAvAJECBgACAMUDvgNnAb8DwAMvAMEDwgNVAMMDVQAvAJECBgACAMYDvgMdAL8DwAMvAMEDwgNVAMMDVQAvAJECBgACAMcDvgM3AL8DwAMvAMEDwgNVAMMDVQAvAJECBgACAMgDvgMKAL8DwAMvAMEDwgNVAMMDVQDfAoICDQACAP4ECwDWAw0A/wQPABAAEQDYAxMACABqArkDFADnARYAAAUYAOkBGQABBecCAgXpAgEFLwCYAgYAAgC9A74DMwC/A9wDLwDBA8IDVQDDA1UALwCYAgUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAJgCBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvAJgCBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAJgCBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAJgCBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDfAoICDQACAAMFCwDWAw0ABAUPABAAEQDYAxMACABqArkDFADnARYABQUYAOkBGQABBecCBgXpAgEFLwCfAgYAAgC9'
			..'A74DMwC/A9wDLwDBA8IDVQDDA1UALwCfAgUAAgDEA78D3AMvAMEDwgNVAMMDVQAvAJ8CBgACAMUDvgNnAb8D3AMvAMEDwgNVAMMDVQAvAJ8CBgACAMYDvgMdAL8D3AMvAMEDwgNVAMMDVQAvAJ8CBgACAMcDvgM3AL8D3AMvAMEDwgNVAMMDVQAvAJ8CBgACAMgDvgMKAL8D3AMvAMEDwgNVAMMDVQDaAt0BAgACAAcF3QIIBd8CpgINAAIAtAMLAGYCDQAJBQ8AEAARAGgCEwAIAGoCuQMUAOcBFgAKBRgA6QEZALsD5wK8A+kCuwMvAKcCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvAKcCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8ApwIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8ApwIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8ApwIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8ApwIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CpgINAAIAsAMLAGYC'
			..'DQALBQ8AEAARAGgCEwAIAGoCuQMUAOcBFgAMBRgA6QEZAMsD5wLMA+kCywMvAK4CBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvAK4CBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8ArgIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8ArgIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8ArgIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8ArgIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CpgINAAIAsgMLAGYCDQANBQ8AEAARAGgCEwAIAGoCuQMUAOcBFgAOBRgA6QEZAM8D5wLQA+kCzwMvALUCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvALUCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8AtQIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8AtQIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8AtQIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8AtQIG'
			..'AAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CpgINAAIAqgMLAGYCDQAPBQ8AEAARAGgCEwAIAGoC0gMUAOcBFgAQBRgA6QEZANQD5wLVA+kC1AMvALwCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvALwCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8AvAIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8AvAIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8AvAIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8AvAIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CpgINAAIAqAMLANYDDQARBQ8AEAARANgDEwAIAGoCuQMUAOcBFgASBRgA6QEZANoD5wLbA+kC2gMvAMMCBgACAL0DvgMzAL8D3AMvAMEDwgNVAMMDVQAvAMMCBQACAMQDvwPcAy8AwQPCA1UAwwNVAC8AwwIGAAIAxQO+A2cBvwPcAy8AwQPCA1UAwwNVAC8AwwIGAAIAxgO+Ax0AvwPcAy8AwQPCA1UA'
			..'wwNVAC8AwwIGAAIAxwO+AzcAvwPcAy8AwQPCA1UAwwNVAC8AwwIGAAIAyAO+AwoAvwPcAy8AwQPCA1UAwwNVAN8CpgINAAIArAMLAGYCDQATBQ8AEAARAGgCEwAIAGoCuQMUAOcBFgAUBRgA6QEZAN8D5wLgA+kC3wMvAMoCBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvAMoCBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8AygIGAAIAxQO+A2cBvwPAAy8AwQPCA1UAwwNVAC8AygIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8AygIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8AygIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVAN8CpgINAAIArgMLAGYCDQAVBQ8AEAARAGgCEwAIAGoC0gMUAOcBFgAWBRgA6QEZAOMD5wLkA+kC4wMvANECBgACAL0DvgMzAL8DwAMvAMEDwgNVAMMDVQAvANECBQACAMQDvwPAAy8AwQPCA1UAwwNVAC8A0QIGAAIAxQO+A2cBvwPA'
			..'Ay8AwQPCA1UAwwNVAC8A0QIGAAIAxgO+Ax0AvwPAAy8AwQPCA1UAwwNVAC8A0QIGAAIAxwO+AzcAvwPAAy8AwQPCA1UAwwNVAC8A0QIGAAIAyAO+AwoAvwPAAy8AwQPCA1UAwwNVANoC3QECAAIAFwXdAhgF3wLYAg0AAgAZBQsAZgINABoFDwAQABEAaAITAAgAagK5AxQA5wEWABsFGADpARkAHAXnAh0F6QIcBS8A2QIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8A2QIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwDZAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwDZAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwDZAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwDZAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wLYAg0AAgAeBQsAZgINAB8FDwAQABEAaAITAAgAagLSAxQA5wEWACAFGADpARkAIQXnAiIF6QIhBS8A4AIGAAIAvQO+AzMAvwPAAy8A'
			..'wQPCA1UAwwNVAC8A4AIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwDgAgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwDgAgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwDgAgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwDgAgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wLYAg0AAgAjBQsA1gMNACQFDwAQABEA2AMTAAgAagLSAxQA5wEWACUFGADpARkAxATnAiYF6QLEBC8A5wIGAAIAvQO+AzMAvwPcAy8AwQPCA1UAwwNVAC8A5wIFAAIAxAO/A9wDLwDBA8IDVQDDA1UALwDnAgYAAgDFA74DZwG/A9wDLwDBA8IDVQDDA1UALwDnAgYAAgDGA74DHQC/A9wDLwDBA8IDVQDDA1UALwDnAgYAAgDHA74DNwC/A9wDLwDBA8IDVQDDA1UALwDnAgYAAgDIA74DCgC/A9wDLwDBA8IDVQDDA1UA3wLYAg0AAgAnBQsA1gMNACgFDwAQABEA2AMTAAgAagK5AxQA5wEW'
			..'ACkFGADpARkAvwTnAioF6QK/BC8A7gIGAAIAvQO+AzMAvwPcAy8AwQPCA1UAwwNVAC8A7gIFAAIAxAO/A9wDLwDBA8IDVQDDA1UALwDuAgYAAgDFA74DZwG/A9wDLwDBA8IDVQDDA1UALwDuAgYAAgDGA74DHQC/A9wDLwDBA8IDVQDDA1UALwDuAgYAAgDHA74DNwC/A9wDLwDBA8IDVQDDA1UALwDuAgYAAgDIA74DCgC/A9wDLwDBA8IDVQDDA1UA3wLYAg0AAgArBQsAZgINACwFDwAQABEAaAITAAgAagLSAxQA5wEWAC0FGADpARkALgXnAi8F6QIuBS8A9QIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8A9QIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwD1AgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwD1AgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwD1AgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwD1AgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA'
			..'3wLYAg0AAgAwBQsAZgINADEFDwAQABEAaAITAAgAagK5AxQA5wEWADIFGADpARkAMwXnAjQF6QIzBS8A/AIGAAIAvQO+AzMAvwPAAy8AwQPCA1UAwwNVAC8A/AIFAAIAxAO/A8ADLwDBA8IDVQDDA1UALwD8AgYAAgDFA74DZwG/A8ADLwDBA8IDVQDDA1UALwD8AgYAAgDGA74DHQC/A8ADLwDBA8IDVQDDA1UALwD8AgYAAgDHA74DNwC/A8ADLwDBA8IDVQDDA1UALwD8AgYAAgDIA74DCgC/A8ADLwDBA8IDVQDDA1UA3wLYAg0AAgA1BQsA1gMNADYFDwAQABEA2AMTAAgAagK5AxQA5wEWADcFGADpARkAOAXnAjkF6QI4BS8AAwMGAAIAvQO+AzMAvwPcAy8AwQPCA1UAwwNVAC8AAwMFAAIAxAO/A9wDLwDBA8IDVQDDA1UALwADAwYAAgDFA74DZwG/A9wDLwDBA8IDVQDDA1UALwADAwYAAgDGA74DHQC/A9wDLwDBA8IDVQDDA1UALwADAwYAAgDHA74DNwC/A9wDLwDB'
			..'A8IDVQDDA1UALwADAwYAAgDIA74DCgC/A9wDLwDBA8IDVQDDA1UABQDdAQ0AAgA6BQkACgALADsFDQA8BQ8AEACKAxAAEQA9BRMACABqAuQCFgA+BRkAPwUbAAoAHAAdAKcDCgMCAAIAAwUOA0AFpwMKAwIAAgD5BA4DQQWnAwoDAgACAPQEDgNCBacDCgMCAAIA/gQOA0MFpwMKAwIAAgDvBA4DRAUFAN0BDQACAIcDCQAKAAsAiAMNAEUFDwAQAIoDEAARAIsDEwAIAGoC5AIWAEYFGQCNAxsACgAcAB0A6AAQAwUAEQCOAyYAEAAnALUBSgAdABwA2QAeABADAwACAI8DDQCQAxYAkQMeABADAwACAJIDDQCTAxYAlAMeABADAwACAJUDDQCWAxYAlwPoABQDCQACAJgDEQCZAyYAEADtAAgAJwC1ASkAHQAvAJoDHADyAPMA1ALoABQDCgARAJkDJgAQAO0ACAAnALUBKQAdAC8AmwPvAPAA8QAzABwA8gDzANQC6AAUAwwAAgCcAxEAmQMmABAA7QAIACcA4gEpAB0AnQMKAC8A'
			..'ngPvAJ8D8QAzABwAoAPzAKED6AAUAwgAEQCZAyYAEADtAAgAJwD1ACkAHQAvAKIDHADyAPMA1ALoABQDCgACAJwDEQCZAyYAEADtAAgAJwDiASkAHQCdAwoALwCjAxwAoAPzAKQDHgAQAwIADQClAxYApgOnAxADAgACAKgDDgOpA6cDEAMCAAIAqgMOA6sDpwMQAwIAAgCsAw4DrQOnAxADAgACAK4DDgOvA6cDEAMCAAIAsAMOA7EDpwMQAwIAAgCyAw4DswOnAxADAgACALQDDgO1AwUA3QENAAIARwUJAAoACwBIBQ0ASQUPABAAigMQABEASgUTAAgAagLkAhYASwUZAI0DGwAKABwAHQCnAyIDAgACAMEEDgNMBacDIgMCAAIA2gQOA00FpwMiAwIAAgDLBA4DTgWnAyIDAgACAMYEDgNPBacDIgMCAAIA1QQOA1AFpwMiAwIAAgDQBA4DUQWnAyIDAgACALwEDgNSBQUA3QEMAAIA5QMJAAoACwDmAw0AUwUPABAAEQDoAxMACABqAuQCFgBUBRkAjQMbAAoAHAAdAB4AKgMD'
			..'AAIAjwMNAOoDFgDrAx4AKgMDAAIAkgMNAOwDFgDtA+gAKgMFABEAjgMmABAAJwC1AUoAHQAcANkAHgAqAwMAAgCVAw0AlgMWAJcD6AAuAwkAAgCYAxEAmQMmABAA7QAIACcAtQEpAB0ALwCaAxwA8gDzANQC6AAuAwoAEQCZAyYAEADtAAgAJwC1ASkAHQAvAJsD7wDwAPEAMwAcAPIA8wDUAugALgMMAAIAnAMRAJkDJgAQAO0ACAAnAOIBKQAdAJ0DCgAvAJ4D7wCfA/EAMwAcAKAD8wChA+gALgMIABEAmQMmABAA7QAIACcA9QApAB0ALwCiAxwA8gDzANQC6AAuAwoAAgCcAxEAmQMmABAA7QAIACcA4gEpAB0AnQMKAC8AowMcAKAD8wCkAx4AKgMCAA0ApQMWAKYDpwMqAwIAAgDuAw4D7wOnAyoDAgACAPADDgPxA6cDKgMCAAIA8gMOA/MDpwMqAwIAAgD0Aw4D9QOnAyoDAgACAPYDDgP3A6cDKgMCAAIA+AMOA/cDpwMqAwIAAgD5Aw4D+gMFAN0BDQACAFUFCQAKAAsA'
			..'SAUNAFYFDwAQAIoDEAARAEoFEwAIAGoC5AIWAFcFGQCNAxsACgAcAB0ApwM8AwIAAgAnBQ4DWAWnAzwDAgACABkFDgNZBacDPAMCAAIAHgUOA1oFpwM8AwIAAgAwBQ4DWwWnAzwDAgACACsFDgNcBacDPAMCAAIANQUOA10FpwM8AwIAAgAjBQ4DXgUFAN0BDQACAF8FCQAKAAsAYAUNAGEFDwAQAIoDEAARAGIFEwAIAGoC5AIWAGMFGQBuAhsACgAcAB0ACQNEAwMAAgBkBQ4DZQVmBWcFCQNEAwMAAgBoBQ4DaQVmBWoFCQNEAwMAAgBrBQ4DbAVmBW0FCQNEAwMAAgBuBQ4DbwVmBXAFCQNEAwMAAgBxBQ4DcgVmBXMFpwNEAwIAAgC1BA4DdAWnA0QDAgACAKEEDgN1BacDRAMCAAIAsAQOA3YFpwNEAwIAAgCXBA4DdwWnA0QDAgACAKYEDgN4BacDRAMCAAIAkgQOA3kFpwNEAwIAAgCNBA4DegWnA0QDAgACAKsEDgN7BacDRAMCAAIAnAQOA3wFHgBEAwEAAgB9BR8AUwMO'
			..'AgIAfgURAH8FIgBbACYAEAAnAC8CKQAdALEACAAqACUATACABRkAgQUtALQAUQBgAC8AggUyADMAEgEKAAQBHQAfAFMDDgICAH4FEQCDBSIAWwAmABAAJwAuACkAHQCxAAgAKgAlABkAYgItALQAUQBgAC8AhAUcANkAMgAzABIBCgAEAR0AHwBTAw4CAgCFBUcAhgURAIcFIgA2ACYAEAAnAEkAKgBIAUwApAEYAGcAGQBDAy0AnABRAGAALwCIBTIA3wASAQoABAGGAB8AUwMKAgIALgMRAIkFIgAlACYAEAAnACgAKgAlABkAdQAtALcBLwCKBRwAiwUSAQoABAEdAB8AUwMMAgIAjAURAI0FIgA2ACYAEAAnAFwAKQAdACoAJQAYAGcALQB2AFEAYAAvAI4FMgAdABIBCgAEASUAHwBTAw4CAgC6AREAjwUiAFsAJgAQACcALwIpAB0AsQAIACoAHQBMAIAFGQCBBS0AtABRAGAALwCQBTIAMwASAQoABAEdAB8AUwMLAgIAkQURAJIFJgAQACcAkwUpAB0AKgA5ARkAlAUtALQA'
			..'UQCVBS8AlgUcANkAEgEKAAQBHQAfAFMDDQICAJEFEQCXBSIAJQAmABAAJwC6AikAHQAqADkBGABnABkAmAUtAB0BUQCVBS8AmQUcAJoFEgEKAAQBBQEfAFMDDAICAJsFEQCcBSYAEAAnABACKQAdACoAIwAYAGcAGQCdBS0AtwFRAJUFLwCeBRwAnwUSAQoABAE3AB8AUwMNAgIAmwURAKAFJgAQACcA0AApAB0AKgAdAEwApAEYAGcAGQChBS0AtwFRAJUFLwCiBRwAowUSAQoABAEdAB8AUwMPAgIApAURAKUFIgAlACYAEAAnAFwAKQAdALEACAAqADYAGABnABkApgUtALcBUQBgAC8ApwUcAKgFMgAdABIBCgAEASUAHwBTAw8CAgCpBREAqgUmABAAJwDQACkAHQCxAAgAFAA3ACoABQEYAKsFGQBiAi0AtABRAGAALwCsBRwArQUyADMAEgEKAAQBWwAfAFMDDgICAK4FEQCvBSIAhgAmABAAJwAuACkAHQAqAFgCGACwBRkAsQUtALIFUQBgAC8AswUcALQFMgAdABIBCgAE'
			..'ATYAHwBTAxACAgC1BREAtgUiADYAJABnASYAEAAnAFwAKQBoAxQAMwAqAEgBGAArABkAtwUtAI4CUQBgAC8AuAUcALkFMgDfABIBCgAEAcACHwBTAw0CAgC6BREAuwUiAFsAJgAQACcALgCxAAgAKgAlABkAYgItALQAUQBgAC8AvAUcANkAMgAzABIBCgAEASUAHwBTAw4CAgC9BREAvgUiAFsAJgAQACcALgApAB0AsQAIACoAJQAZAGICLQC0AFEAYAAvAL8FHADZADIAMwASAcAFBAE3AAUA3QENAAIAwQUJAAoACwDCBQ0AYQUPABAAigMQABEAwwUTAAgAagLkAhYAYwUZAG4CGwAKABwAHQAfAGQDEAACAMQFEQDFBSYAEAAnAC4AKQDiAUoAWAEqADcATADGBRgAWgIZAMcFLQDIBVEAyQUvAMoFVABrARwAywUyAB0ApwNkAwIAAgDMBQ4DzQUJA2QDAQACAM4F5QA9AOoAPwA9AOsAPAA+AOoAPwA+AOsAPABmAOoAZwBmAOsAZQDZANwC2gDdAOoA4ADdAOsA3ADeAOoA'
			..'4ADeAOsA3ADfAOoA4ADfAOsA3ADjANwC5gDnAAsD5gDnAAwDBwHoAAsD5gDoAAwD6QDtAOoA6wDtAOsA7AANAeoADAENAesAIAEOAeoADAEOAesAIAEPAeoADAEPAesAIAEQAeoADAEQAesAIAESAeoAEQESAesAIAETAeoAEQETAesAIAEUAeoAEQEUAesAIAEVAeoAEQEVAesAIAEXAeoAFgEXAesAIAEYAeoAFgEYAesAIAEZAeoAFgEZAesAIAEaAeoAFgEaAesAIAEcAeoAGwEcAesAIAEdAeoAGwEdAesAIAEeAeoAGwEeAesAIAEfAeoAGwEfAesAIAEhAeoAIAEiAeoAIAEjAeoAIAEkAeoAIAE7AeoAPQE7AesAPAE/AeoARAE/AesAPgFAAeoARAFAAesAPgFBAeoARAFBAesAPgFCAeoARAFCAesAPgFDAeoARAFDAesAPgFFAQsDOgFFAQwDaQFGAQsDOgFGAQwDYgFHAQsDOgFHAQwDcAFIAQsDOgFIAQwDdwFJAQsDOgFJAQwDVAFKAQsDOgFKAQwDWwFLAQsDOgFL'
			..'AQwDTQGBAeoAgAGBAesAfwGDAeoAiAGDAesAggGEAeoAiAGEAesAggGFAeoAiAGFAesAggGGAeoAiAGGAesAggGHAeoAiAGHAesAggGJAQsDfgGJAQwDmAGKAQsDfgGKAQwDkQGLAQsDfgGLAQwDuwGMAQsDfgGMAQwDrQGNAQsDfgGNAQwDpgGOAQsDfgGOAQwDtAGPAQsDfgGPAQwDnwELAwsDCgMLAwwDnwIMAwsDCgMMAwwDkQINAwsDCgMNAwwDigIOAwsDCgMOAwwDmAIPAwsDCgMPAwwDgwIRA+oAEwMRA+sAEgMVA+oAGgMVA+sAFAMWA+oAGgMWA+sAFAMXA+oAGgMXA+sAFAMYA+oAGgMYA+sAFAMZA+oAGgMZA+sAFAMbAwsDEAMbAwwDwwIcAwsDEAMcAwwDvAIdAwsDEAMdAwwDygIeAwsDEAMeAwwD0QIfAwsDEAMfAwwDrgIgAwsDEAMgAwwDtQIhAwsDEAMhAwwDpwIjAwsDIgMjAwwDJgIkAwsDIgMkAwwDSQIlAwsDIgMlAwwDNAImAwsDIgMmAwwDLQInAwsD'
			..'IgMnAwwDQgIoAwsDIgMoAwwDOwIpAwsDIgMpAwwDHwItA+oALAMtA+sAKwMvA+oANAMvA+sALgMwA+oANAMwA+sALgMxA+oANAMxA+sALgMyA+oANAMyA+sALgMzA+oANAMzA+sALgM1AwsDKgM1AwwDWAI2AwsDKgM2AwwDUQI3AwsDKgM3AwwDewI4AwsDKgM4AwwDbQI5AwsDKgM5AwwDZgI6AwsDKgM6AwwDdAI7AwsDKgM7AwwDXwI9AwsDPAM9AwwD7gI+AwsDPAM+AwwD2QI/AwsDPAM/AwwD4AJAAwsDPANAAwwD/AJBAwsDPANBAwwD9QJCAwsDPANCAwwDAwNDAwsDPANDAwwD5wJFAwsDRANFAwwDCgNGAwsDRANGAwwDKgNHAwsDRANHAwwDPANIAwsDRANIAwwDEANJAwsDRANJAwwDIgNKAwsDRANKAwwDFwJLAwsDRANLAwwD+wFMAwsDRANMAwwDEAJNAwsDRANNAwwD7QFOAwsDRANOAwwDAgJPAwsDRANPAwwD5gFQAwsDRANQAwwD3wFRAwsDRANRAwwDCQJS'
			..'AwsDRANSAwwD9AFmAwsDZANnAwsDZANnAwwDRAM=')[1]
	end
end

local stand = templates.Stand
stand.Parent = script -- // owner.Character

for _, v in pairs(stand:GetDescendants()) do
	if v:IsA("BasePart") then
		v.Transparency = 1
		v.CanTouch = false
		v.CanCollide = false
		v.CanQuery = false
		v.Locked = true
	elseif v:IsA("Texture") then
		v.Transparency = 1
	end
end

local sw = Instance.new("Weld", stand)
sw.Part0 = stand.StandHumanoidRootPart
sw.Part1 = owner.Character.HumanoidRootPart
sw.Enabled = true

local re = Instance.new("RemoteEvent", owner.PlayerGui)
re.Name = "SQEvent"
local rf = Instance.new("RemoteFunction", re)
rf.Name = "SQFunction"

owner.Character.Humanoid.MaxHealth = 500
owner.Character.Humanoid.Health = 500

owner.Character.Humanoid.WalkSpeed = 25
owner.Character.Humanoid:SetAttribute("OriginalWalkspeed", 25)

local lmbc = 1
local planted = {}
local http = game:GetService("HttpService")
local prefix = "https://github.com/MechaXYZ/VSBScripts/raw/main/Subspace%20Queen%20Animation%20Modules/"

local function get(url)
	local result

	local s, e = pcall(function()
		result = http:GetAsync(prefix .. url .. ".lua")
	end)

	if s == false then
		warn(e, prefix .. url .. ".lua")
		return
	end

	return result
end

local function lstr(s)
	local f, e = loadstring(s)

	if f then
		return f
	else
		error(e)
	end 
end

local anims = {
	["Run"] = lstr(get("Run"))(),
	["Idle"] = lstr(get("Idle"))(),
	["StandIdle"] = lstr(get("StandIdle"))(),

	["MineToss"] = lstr(get("MineToss"))(),
	["MineSHAPlant"] = lstr(get("MineSHAPlant"))(),
	["ExplosionVictim"] = lstr(get("ExplosionVictim"))(),

	["Detonate"] = {
		["User"] = lstr(get("DetonateUser"))(),
		["Stand"] = lstr(get("DetonateStand"))()
	},

	["QuadBomb"] = {
		["User"] = lstr(get("QuadUser"))(),
		["Victim"] = lstr(get("QuadVictim"))(),
		["Startup"] = lstr(get("QuadStartup"))()
	},

	["StandOff"] = {
		["LMB"] = {
			["1"] = lstr(get("SOffLMB1"))(),
			["2"] = lstr(get("SOffLMB2"))(),
			["3"] = lstr(get("SOffLMB3"))(),
			["4"] = lstr(get("SOffLMB4"))()
		},
		["Foothold"] = {
			["Stand"] = lstr(get("FootholdStand"))(),
			["Victim"] = lstr(get("FootholdVictim"))(),
			["Startup"] = lstr(get("FootholdStartup"))(),
			["StandLoop"] = lstr(get("FootholdUserLoop"))(),
			["VictimLoop"] = lstr(get("FootholdVictimLoop"))()
		},

		["FlyingUppercut"] = lstr(get("FlyingUppercut"))()
	},
	["StandOn"] = {
		["LMB"] = {
			["1"] = lstr(get("SOnLMB1"))(),
			["2"] = lstr(get("SOnLMB2"))(),
			["3"] = lstr(get("SOnLMB3"))(),
			["4"] = lstr(get("SOnLMB4"))()
		},
		["BombPlant"] = {
			["Kick"] = lstr(get("BombPlantKick"))(),
			["Start"] = lstr(get("BombPlantStart"))()
		},

		["Barrage"] = {
			["Loop"] = lstr(get("Barrage"))(),
			["Startup"] = lstr(get("BarrageStartup"))(),
			["Finisher"] = lstr(get("BarrageFinisher"))()
		},
		["PowerDisplay"] = {
			["User"] = lstr(get("PDUser"))(),
			["Victim"] = lstr(get("PDVictim"))(),
			["Startup"] = lstr(get("PDStartup"))()
		},

		["CautiousStrike"] = lstr(get("CautiousStrike"))(),
	}
}

local dbs = {
	["Idle"] = false,
	["EHeld"] = false,
	["Summon"] = false,
	["Stunned"] = false,
	["Barrage"] = false,
	["LMBCombo"] = false,
	["Summoned"] = false,
	["Detonate"] = false,
	["PrimaryBomb"] = false,
	["FlyingUppercut"] = false
}

local cds = {
	["Summon"] = .5,
	["Barrage"] = 1.5,
	["LMBCombo"] = .2,
	["Detonate"] = .25,
	["PrimaryBomb"] = 1,
	["LMBFinisher"] = .75,
	["FlyingUppercut"] = 1
}

local sounds = {}

local sids = {
	["LMB1"] = {"rbxassetid://6761561634", 1},
	["LMB2"] = {"rbxassetid://6761562014", 1},
	["LMB3"] = {"rbxassetid://", 1},
	["LMB4"] = {"rbxassetid://6430931117", 1},
	["SwingLMB"] = {"rbxassetid://11984254", 5},
	["Explosion"] = {"rbxassetid://11984351", 1},
	["Barrage"] = {"rbxassetid://7167737842", 1},
	["HitSFX"] = {"rbxassetid://6706979361", .75},
	["Detonate"] = {"rbxassetid://5072840932", 1},
	["BombPlant"] = {"rbxassetid://2500596035", 1},
	["Unsummon"] = {"rbxassetid://6846384546", .75},
	["DetonateSFX"] = {"rbxassetid://7320934537", 1},
	["BarrageSFX"] = {"rbxassetid://6720651784", .5},
	["SummonEffects"] = {"rbxassetid://11984351", .1},
	["HeavyHitSFX"] = {"rbxassetid://6164853733", .75},
	["FlyingUppercut"] = {"rbxassetid://6430931117", 1},

	["BarrageHitSFX1"] = {"rbxassetid://6753788004", .5},
	["BarrageHitSFX2"] = {"rbxassetid://6753787336", .5},

	["SummonVoiceline"] = {"rbxassetid://6417693074", .75}
}

for i, v in pairs(sids) do
	local snd = Instance.new("Sound")
	snd.SoundId = v[1]
	snd.Volume = v[2]
	snd.RollOffMinDistance = 50
	snd.RollOffMaxDistance = 100
	snd.RollOffMode = "InverseTapered"

	sounds[i] = snd
end

local killtxts = {
	"Dead. Not big surprise.",
	"Retired!",
	"Arigato, loser.",
	"Top ten saddest attempts at anything ever",
	"Consider rokaing",
	"Outplayed!",
	"Failure!",
	"Oh come on, quit already!"
}

local overtxts = {
	"less gooo",
	"universal!",
	"outstanding!",
	"amazing!",
	"incredible!",
	"can you beat goku though?",
	"skill issue",
	"we do a little trolling",
	"absolute legend",
	"vec would be proud",
	"mad?",
	"It's skittles friday!",
	"Who's Joe?",
	"Style points!",
	"You're suppose to dodge that.",
	"FIGHT BACK!",
	"FIGHT BACK COME ON!",
	"Ah-Ah-Ah! It's - Your'oe.",
	"Doyjaainnnn!",
	"THAT'S A BIT...SUSPICIOUS",
	"Ok and?",
	"ONI COMBO",
	"GET HIM HE RKER!@#$!#",
	"YOOOOOOOOO!",
	"SWAG!",
	"Exaggerated Swagger of a Stand user!",
	"Next time i'll hit you with the- E+R+T+V+Y+LMB+LMB+LMB+F+H+U+E+R+F+LMB+LMB+LMB+LMB combo for sure!",
	"Hmmmm, nice!",
	"Do better!",
	"When Update?",
	"Smells like stand issue",
	"IS THAT A JOJO REFERENCE?",
	"Di Molto!",
	"Come back when you're a little richer",
	"MUDA!",
	"ORA!",
	"HORA!",
	"You appear to have been dunked on.",
	"This is the results.",
	"CHILL!",
	"Menacingゴ",
	"insert a quote",
	"WOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
	"Nice",
	"LET'S GO",
	"Get them!",
	"a little more!",
	"HUNT THEM DOWN",
	"THEY WERE TWO STEPS LATE",
	"either you or them!",
	"you ticked them off.",
	"DAMN",
	"skilful",
	"H",
	"m1 m1 m1 m1",
	"epic!"
}

-- // animation handler

local AnimationHandler = {}
AnimationHandler.__index = AnimationHandler

AnimationHandler._Rigs = {}
AnimationHandler._Animations = {}

do
	function AnimationHandler:ToggleWelds(rig, legs, en, bl)
		bl = bl or {}
		rig = rig or owner.Character

		if AnimationHandler._Animations[rig] == nil then
			if rig:FindFirstChildOfClass("Humanoid") then
				AnimationHandler:_SetupRig(rig, rig:FindFirstChildOfClass("Humanoid").RigType.Name, false)
			else
				AnimationHandler:_SetupRig(rig, "R15", false)
			end
		end

		for _, v in pairs(rig:GetDescendants()) do
			if (v:IsA("Motor6D") or v:IsA("Motor"))  and v:FindFirstChild("AnimationWeld") then
				if legs == true and not string.find(v.Name, "Hip") and not table.find(bl, v.Name) then
					v.AnimationWeld.Enabled = en
				elseif legs == false and not table.find(bl, v.Name) then
					v.AnimationWeld.Enabled = en
				end
			end
		end
	end

	function AnimationHandler:GetAnimationLength(anim)
		local lkf = 0

		for i, _ in pairs(anim.Keyframes) do
			if i > lkf then
				lkf = i
			end
		end

		return lkf
	end

	function AnimationHandler:Stop(args)
		local tween = args.Tweening -- // or true
		local rig = args.Rig or owner.Character
		local c0sap = AnimationHandler._Rigs[rig]
		local atds = AnimationHandler._Animations

		local parts = c0sap.Parts
		local oldc0s = c0sap.OldC0s

		local anim = args.Animation
		local ft = args.FadeTime or .5
		local dw = args.DisableWelds or false

		local old = atds[rig][anim]

		local function check()
			local lp = 0
			local which = nil

			atds[rig][anim] = nil

			for i, v in pairs(atds[rig]) do
				if v.Priority > lp then
					lp = v.Priority
					which = v
				end
			end

			atds[rig][anim] = old

			return which
		end

		if atds[rig][anim] ~= nil then
			for _, thread in pairs(atds[rig][anim]) do
				if type(thread) == "thread" then
					task.cancel(thread)
				end
			end

			for _, tween in pairs(atds[rig][anim]["Tweens"]) do
				tween:Cancel()
			end
		end

		task.wait()

		-- // atds[rig][anim] = nil

		local getn = -1

		for _, v in pairs(atds[rig]) do
			getn += 1
		end

		local which = check()

		if which ~= atds[rig][anim] and which ~= nil then
			if (anim == anims.StandOn.LMB["1"] or anim == anims.StandOn.LMB["2"] or anim == anims.StandOn.LMB["3"] or anim == anims.StandOn.LMB["4"] or anim == anims.StandOff.LMB["1"] or anim == anims.StandOff.LMB["2"] or anim == anims.StandOff.LMB["3"] or anim == anims.StandOff.LMB["4"]) then
				which = atds[rig][anims.Idle]
			end

			local args = {
				["Time"] = ft,
				["Rig"] = rig,
				["Override"] = true,
				["Tweening"] = true,
				["EasingStyle"] = "Linear",
				["AnimationTable"] = which,
				["Poses"] = which.Animation.Keyframes[which.CurrentTime]
			}

			coroutine.wrap(function()
				local t = args.Time
				local tbl = args.Poses
				local atbl = args.AnimationTable
				local tween = args.Tweening -- // or true
				local es = args.EasingStyle or "Linear"
				local rig = args.Rig or owner.Character
				local which = args.HighestPriority or atbl

				local ius = atbl["InUse"]
				local tweens = atbl["Tweens"]

				for i, _ in pairs(AnimationHandler._Rigs[rig].Parts) do
					ius[i] = false
				end

				local function recurse(v)
					if type(v) == "table" then
						for i, v in pairs(v) do
							ius[i] = false

							local part = AnimationHandler._Rigs[rig].Parts[i]
							local oldc0 = AnimationHandler._Rigs[rig].OldC0s[i]

							if part then
								ius[i] = true

								if tween == true then
									pcall(function()
										local tw = game:GetService("TweenService"):Create(part, TweenInfo.new(ft, Enum.EasingStyle.Cubic), {C0 = oldc0 * v.CFrame}):Play()
									end)
								else
									pcall(function()
										part.C0 = oldc0 * v.CFrame
									end)
								end  
							end

							recurse(v)
						end
					end
				end

				recurse(tbl)
			end)()
		end

		for i, v in pairs(parts) do
			if which == atds[rig][anim] or which == nil then
				if tween == true then
					game:GetService("TweenService"):Create(v, TweenInfo.new(ft), {C0 = oldc0s[i]}):Play()
				else
					v.C0 = oldc0s[i]
				end
			end

			coroutine.wrap(function()
				if tween == true then
					task.wait(ft)
				end

				if args.DisableWelds == true and getn == 0 then
					v.Enabled = false
				end
			end)()
		end

		task.delay(ft, function()
			atds[rig][anim] = nil
		end)
	end

	function AnimationHandler:_SetupRig(rig, rt, en)
		local parts = {}
		local oldc0s = {}

		local animated = AnimationHandler._Rigs

		if animated[rig] ~= nil then
			return
		end

		for _, v in pairs(rig:GetDescendants()) do
			if (v:IsA("Motor6D") or v:IsA("Motor")) and not v:FindFirstChild("AnimationWeld") then
				local w = Instance.new("Weld", v)
				w.Name = "AnimationWeld"
				w.Part0 = v.Part0
				w.Part1 = v.Part1
				w.C0 = v.C0
				w.C1 = v.C1
				w.Enabled = en-- // or true
			end
		end

		--[[
		if rt == nil or rt == "R6" then
			local torso = rig:WaitForChild("Torso")

			local neck, rh, lh, ls, rs, rj

			pcall(function()
				neck = torso.Neck
				rh = torso["Right Hip"]
				lh = torso["Left Hip"]
				ls = torso["Left Shoulder"]
				rs =  torso["Right Shoulder"]   

				rj = torso.Parent.HumanoidRootPart.RootJoint
			end) 
			
			local joints = {neck, rh, lh, ls, rs, rj}

			for _, v in pairs(joints) do
				if v ~= nil then
					oldc0s[v.Part1.Name] = v.C0
					parts[v.Part1.Name] = v.AnimationWeld
				end
			end
			]]--
		-- // elseif rt == "R15" then
		for _, v in pairs(rig:GetDescendants()) do
			if (v:IsA("Motor6D") or v:IsA("Motor")) then
				oldc0s[v.Part1.Name] = v.C0
				parts[v.Part1.Name] = v.AnimationWeld
			end
		end
		-- // end

		animated[rig] = {
			["Parts"] = parts,
			["OldC0s"] = oldc0s
		}

		return animated[rig]
	end

	function AnimationHandler:_Recurse(args)
		local t = args.Time
		local tbl = args.Poses
		local atbl = args.AnimationTable
		local tween = args.Tweening -- // or true
		local es = args.EasingStyle or "Cubic"
		local rig = args.Rig or owner.Character
		local which = args.HighestPriority or atbl

		local ius = atbl["InUse"]
		local tweens = atbl["Tweens"]

		for i, _ in pairs(AnimationHandler._Rigs[rig].Parts) do
			ius[i] = false
		end

		local function recurse(v)
			if type(v) == "table" then
				for i, v in pairs(v) do
					if typeof(v) == "string" and v ~= "CFrame" then
						if args.Events[i] ~= nil then
							for _, event in pairs(args.Events[i]) do
								event:Fire(v)
							end
						end
					else
						ius[i] = false

						local part = AnimationHandler._Rigs[rig].Parts[i]
						local oldc0 = AnimationHandler._Rigs[rig].OldC0s[i]

						if part then                            
							if which == atbl and which["InUse"][i] ~= true then
								ius[i] = true

								if tween == true then
									pcall(function()
										local tw = game:GetService("TweenService"):Create(part, TweenInfo.new(t, es), {C0 = oldc0 * v.CFrame})
										tw:Play()

										table.insert(tweens, tw)
									end)
								else
									pcall(function()
										part.C0 = oldc0 * v.CFrame
									end)
								end
							end
						end

						recurse(v)
					end
				end
			end
		end

		recurse(tbl)
	end

	function AnimationHandler:Animate(args)
		local anim
		local c0sap
		local lt = 0
		local lkf = 0
		local tbl = args.Animation
		local looping = args.Looping
		local speed = args.Speed or 1
		local prior = args.Priority or 2
		local tween = args.Tweening -- //-- // or true
		local es = args.EasingStyle or "Cubic"
		local rig = args.Rig or owner.Character
		local animated = AnimationHandler._Rigs
		local atds = AnimationHandler._Animations

		if animated[rig] == nil then
			if rig:FindFirstChildOfClass("Humanoid") then
				c0sap = AnimationHandler:_SetupRig(rig, rig:FindFirstChildOfClass("Humanoid").RigType.Name, args.DisableOnSetup)
			else
				c0sap = AnimationHandler:_SetupRig(rig, "R15", args.DisableOnSetup)
			end
		else
			c0sap = animated[rig]
		end

		local parts = c0sap.Parts
		local oldc0s = c0sap.OldC0s

		if type(es) == "string" then
			es = Enum.EasingStyle[es]
		end

		if type(tbl) == "string" then -- // check if the argument is a string or url, then decode it and get table
			anim = loadstring(game:GetService("HttpService"):GetAsync(tbl))()
		elseif type(tbl) ~= "string" then -- // check if the argument is a table, then set anim to tbl
			anim = tbl
		end

		if atds[rig] == nil then
			atds[rig] = {}
		end

		local function reset()
			atds[rig][anim] = {}

			local atbl = atds[rig][anim]

			atbl["InUse"] = {}
			atbl["Tweens"] = {}
			atbl["Speed"] = speed
			atbl["Paused"] = false
			atbl["CurrentTime"] = 0
			atbl["Priority"] = prior
			atbl["Animation"] = anim
		end

		reset()

		for i, _ in pairs(anim.Keyframes) do
			if i > lkf then
				lkf = i
			end
		end

		-- // print(lkf, "lkf")

		local function check()
			local lp = 0
			local which = nil

			for i, v in pairs(atds[rig]) do
				if v.Priority > lp then
					lp = v.Priority
					which = v
				end
			end

			return which
		end

		local be = Instance.new("BindableEvent", game:GetService("ServerScriptService"))

		local AnimationTrack = {}
		AnimationTrack.__index = AnimationTrack

		AnimationTrack.Rig = rig
		AnimationTrack.Events = {}
		AnimationTrack.Animation = anim
		AnimationTrack.Stopped = be.Event
		AnimationTrack.AnimationTable = atds[rig][anim]
		AnimationTrack.Length = AnimationHandler:GetAnimationLength(anim)

		function AnimationTrack:CleanEvents()
			AnimationTrack.Events = {}

			return AnimationTrack.Events
		end

		function AnimationTrack:GetMarkerReachedSignal(n)
			local event = Instance.new("BindableEvent", game:GetService("ServerScriptService"))

			if AnimationTrack.Events[n] == nil then
				AnimationTrack.Events[n] = {}
			end

			table.insert(AnimationTrack.Events[n], event)

			return event.Event
		end

		local function animate()
			for i, v in pairs(anim.Keyframes) do
				local t = i / speed

				if args.Reverse == true then
					t = lkf - (i / speed)
				end

				table.insert(atds[rig][anim], task.delay(t, function()
					if atds[rig][anim] == nil then
						reset()
					end

					atds[rig][anim]["CurrentTime"] = t

					local which = check()
					local t = (i - lt) / speed

					AnimationHandler:_Recurse({
						["Time"] = t,
						["Poses"] = v,
						["Tweening"] = tween,
						["EasingStyle"] = es,
						["HighestPriority"] = which,
						["Rig"] = rig or owner.Character,
						["Events"] = AnimationTrack.Events,
						["AnimationTable"] = atds[rig][anim]
					})

					lt = i
				end))    
			end

			local getn = 0

			for _, v in pairs(anim.Keyframes) do
				getn += 1
			end

			if looping == true and atds[rig][anim] ~= nil and getn > 1 then
				table.insert(atds[rig][anim], task.delay(lkf / speed, animate))
			end

			if (looping == false or looping == nil) and getn > 1 then
				task.wait(lkf / speed)

				if args.StallTime then
					task.wait(args.StallTime)
				end

				be:Fire()

				AnimationHandler:Stop({
					["Rig"] = rig,
					["Animation"] = anim,
					["Tweening"] = args.Tweening, -- // or true,
					["DisableWelds"] = args.DisableWelds or false
				})
			end
		end

		if args.Wrapped == true then
			coroutine.wrap(animate)()
		else
			animate()
		end

		return AnimationTrack
	end
end

-- [[ FUNCTIONS AND EVENTS ]] --

local function hb(pt, cf, size, bl, type)
	return rf:InvokeClient(owner, pt, cf, size, bl, type)
end

local function seth(ws, jp)
	owner.Character.Humanoid.WalkSpeed = (ws == "OG" and 25 or ws)
	owner.Character.Humanoid.JumpPower = (jp == "OG" and 50 or jp)
end

local function play(what, p, scf)
	if sounds[what] then
		local snd = sounds[what]:Clone()
		snd.Name = what
		snd.Parent = p or owner.Character.HumanoidRootPart

		if scf ~= nil then
			local pt = Instance.new("Part", script)
			pt.CFrame = scf
			pt.CanCollide = false
			pt.CanQuery = false
			pt.CanTouch = false
			pt.Anchored = true
			pt.Transparency = 1
			pt.Size = Vector3.new(.05, .05, .05)

			snd.Parent = pt
		end

		snd:Play()

		coroutine.wrap(function()
			snd.Ended:Wait()
			task.wait(.1)

			snd:Destroy()
		end)()

		return snd
	end
end

local function findhum(p)
	if p:FindFirstAncestorOfClass("Model") then
		if p:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid", true) then
			return p:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid", true)
		else
			return nil
		end
	else
		return nil
	end
end

local function dmgui(mdl, dmg, ep)
	if mdl:GetAttribute("DeadNotBigSurprise") == true or dmg == 0 then
		return
	end

	local ui = mdl:FindFirstChild("DamageGUI")

	if ui then
		local tb = ui.BBG.TextBox

		local ogdmg = tonumber(tb.Text) or 0
		ogdmg += dmg

		local txt

		if math.floor(ogdmg) == ogdmg then
			txt = tostring(ogdmg)
		else
			txt = string.format("%.1f", tostring(ogdmg))
		end

		if ogdmg > 100 then
			tb.Text = overtxts[Random.new():NextInteger(1, #(overtxts))]
			ui.Name = "DisabledDamageGUI"
		elseif mdl:FindFirstChildWhichIsA("Humanoid", true).Health <= 0 then
			tb.Text = killtxts[Random.new():NextInteger(1, #(killtxts))]
			ui.Name = "DisabledDamageGUI" 

			mdl:SetAttribute("DeadNotBigSurprise", true)
		else
			tb.Text = txt
		end

		ui.BBG.Size = UDim2.new(10, 0, 2, 0)

		tb.TextTransparency = 0
		tb.TextStrokeTransparency = 0

		local hrp = ep or mdl:FindFirstChild("HumanoidRootPart")

		ui.CFrame = hrp.CFrame * CFrame.new(Random.new():NextNumber(-1, 1), Random.new():NextNumber(-1, 1), Random.new():NextNumber(-1, 1))

		local inf1 = TweenInfo.new(.5, Enum.EasingStyle.Cubic,Enum.EasingDirection.Out)
		local inf2 = TweenInfo.new(3, Enum.EasingStyle.Quint, Enum.EasingDirection.In)

		game:GetService("TweenService"):Create(ui.BBG, inf1, {Size = UDim2.new(5, 0, 1, 0)}):Play()
		game:GetService("TweenService"):Create(tb, inf1, {Rotation = Random.new():NextNumber(-15, 15)}):Play()		

		game:GetService("TweenService"):Create(ui, inf2, {CFrame = ui.CFrame * CFrame.new(0, -4, 0)}):Play()
		game:GetService("TweenService"):Create(tb, inf2, {TextTransparency = 1, TextStrokeTransparency = 1}):Play()
	else
		local ui = templates.DamageGUI:Clone()
		ui.Parent = mdl

		local txt

		if math.floor(dmg) == dmg then
			txt = tostring(dmg)
		else
			txt = string.format("%.1f", tostring(dmg))
		end

		local tb = ui.BBG.TextBox
		tb.Text = txt

		if mdl:FindFirstChildWhichIsA("Humanoid", true).Health <= 0 then
			tb.Text = killtxts[Random.new():NextInteger(1, #(killtxts))]
			ui.Name = "DisabledDamageGUI"

			mdl:SetAttribute("DeadNotBigSurprise", true)
		end

		ui.BBG.Size = UDim2.new(10, 0, 2, 0)

		tb.TextTransparency = 0
		tb.TextStrokeTransparency = 0

		local hrp = ep or mdl:FindFirstChild("HumanoidRootPart")

		ui.CFrame = hrp.CFrame * CFrame.new(Random.new():NextNumber(-1, 1), Random.new():NextNumber(-1, 1), Random.new():NextNumber(-1, 1))

		local inf1 = TweenInfo.new(.5, Enum.EasingStyle.Cubic,Enum.EasingDirection.Out)
		local inf2 = TweenInfo.new(3, Enum.EasingStyle.Quint, Enum.EasingDirection.In)

		game:GetService("TweenService"):Create(ui.BBG, inf1, {Size = UDim2.new(5, 0, 1, 0)}):Play()
		game:GetService("TweenService"):Create(tb, inf1, {Rotation = Random.new():NextNumber(-15, 15)}):Play()		

		game:GetService("TweenService"):Create(ui, inf2, {CFrame = ui.CFrame * CFrame.new(0, -4, 0)}):Play()
		game:GetService("TweenService"):Create(tb, inf2, {TextTransparency = 1, TextStrokeTransparency = 1}):Play()

		coroutine.wrap(function()
			repeat
				task.wait()
			until tb.TextTransparency >= .99

			ui:Destroy()
		end)()
	end
end

local function stun(hum, t)
	if t == 0 or nil then
		return
	end

	coroutine.wrap(function()
		local mdl = hum:FindFirstAncestorOfClass("Model")
		local sc = mdl:GetAttribute("StunCounter") or 0
		mdl:SetAttribute("StunCounter", sc + 1)

		local ows = hum:GetAttribute("OriginalWalkspeed") or hum.WalkSpeed
		hum:SetAttribute("OriginalWalkspeed", ows)

		hum.WalkSpeed = .5

		mdl:SetAttribute("Stunned", true)

		if not mdl:FindFirstChild("StunGUI") then
			local ui = templates.DamageGUI.BBG:Clone()
			ui.Name = "StunGUI"
			ui.Parent = mdl
			ui.TextBox.Text = "STUNNED"
			ui.ClipsDescendants = false
			ui.Size = UDim2.fromScale(3, 1.5)
			ui.Adornee = mdl.HumanoidRootPart
			ui.StudsOffset = Vector3.new(0, 3, 0)
		end

		coroutine.wrap(function()
			repeat
				hum:UnequipTools()
				task.wait()
			until mdl:GetAttribute("StunCounter") == 0
		end)()

		task.wait(t)

		if mdl:GetAttribute("StunCounter") ~= sc + 1 then
			return
		end

		mdl:SetAttribute("StunCounter", 0)

		if mdl:FindFirstChild("StunGUI") then
			mdl.StunGUI:Destroy()
		end

		if hum:FindFirstAncestorOfClass("Model") ~= nil then
			hum:FindFirstAncestorOfClass("Model"):SetAttribute("Stunned", false)
		end

		hum.WalkSpeed = ows
	end)()
end

local function hfx(t, victim, ep)
	local ep = ep or victim.HumanoidRootPart

	if t == "Light" then
		local h = templates.Effects.LightHit:Clone()
		h.Parent = script
		h.Anchored = true
		h.CanCollide = false
		h.CFrame = ep.CFrame

		for _, v in ipairs(h.Attachment:GetChildren()) do
			v.LockedToPart = true
			v:Emit(15)
		end

		task.delay(1, h.Destroy, h)
	elseif t == "Heavy" then
		local _, y, _ = CFrame.new(owner.Character.HumanoidRootPart.Position, ep.Position):ToEulerAnglesXYZ()

		local h = templates.Effects.HeavyHit:Clone()
		h.Parent = script
		h.Anchored = true
		h.CanCollide = false
		h.CFrame = CFrame.new(ep.Position) * CFrame.Angles(0, y, 0)

		for _, v in ipairs(h.Attachment:GetChildren()) do
			-- // v.LockedToPart = true
			v:Emit(15)
		end

		task.delay(1, h.Destroy, h)
	elseif t == "Bomb" then
		local h = templates.Effects.BombPlanted:Clone()
		h.Parent = script
		h.Anchored = true
		h.CanCollide = false
		h.CFrame = ep.CFrame

		-- // h.CosmicStars:Emit(15)

		for _, v in ipairs(h.Attachment:GetChildren()) do
			-- // v.LockedToPart = true
			v:Emit(1)
		end

		task.delay(2, h.Destroy, h)
	end
end

local function attack(tbl, stats, scf)
	local victims = tbl
	local dist = math.huge

	if #(victims) ~= 0 then
		local snd = stats.Sound or "HitSFX"

		if stats.Sound then
			if typeof(stats.Sound) == "table" then
				snd = stats.Sound[Random.new():NextInteger(1, #(stats.Sound))]
			end
		end

		play(snd, scf)
	end

	local mult = 1

	for _, victim in pairs(victims) do
		local hum, hrp = victim:FindFirstChildWhichIsA("Humanoid", true), victim:FindFirstChild("HumanoidRootPart", true)

		hum.Health -= (stats.Damage or 0) * mult

		dmgui(victim, stats.Damage * mult, stats.EffectPart)

		stun(hum, stats.Stun)

		if stats.Animation and hum.RigType == Enum.HumanoidRigType.R6 then
			coroutine.wrap(function()
				AnimationHandler:Animate({
					["Rig"] = victim,
					["StallTime"] = .2,
					["DisableWelds"] = true,
					["Animation"] = stats.Animation
				})
			end)()
		end

		if stats.Knockback then
			local bv = Instance.new("BodyVelocity", hrp)
			bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) -- // Vector3.new(1, 1, 1) * stats.Knockback[1]
			bv.Velocity = (owner.Character.HumanoidRootPart.CFrame.lookVector * stats.Knockback[1]) + (stats.Knockback[3] or Vector3.new())

			task.delay(stats.Knockback[2], function()
				bv:Destroy()
			end)
		end

		coroutine.wrap(hfx)(stats.HitEffect or "Light", victim, stats.EffectPart)
	end
end

local function linger(n, stats, dmgstats)
	local done = false

	coroutine.wrap(function()
		for i = 1, n do
			if done == true then
				break
			end

			local inhb = hb(table.unpack(stats))

			attack(inhb, dmgstats)

			if #(inhb) ~= 0 then
				done = true
				break
			end
		end
	end)()
end

local function summon()
	if dbs.Summon == true then
		return
	end

	if dbs.Stunned == true then
		return
	end

	dbs.Stunned = true
	dbs.Summon = true

	if dbs.Summoned == false then
		dbs.Summoned = true

		for _, v in pairs(stand:GetDescendants()) do
			if (v:IsA("BasePart") or v:IsA("Decal") or v:IsA("Texture")) and not v:GetAttribute("Transparency") and not string.find(v.Name, "Stand") then
				game:GetService("TweenService"):Create(v, TweenInfo.new(.3), {Transparency = 0}):Play()
			end
		end

		for _, v in pairs(stand:GetDescendants()) do
			if v:IsA("BasePart") and v.Name ~= "StandHumanoidRootPart" and not v:FindFirstChild("StandAura") then
				local aura = templates.StandAura:Clone()

				for _, v2 in pairs(aura:GetChildren()) do
					v2.Color = ColorSequence.new{
						ColorSequenceKeypoint.new(0, Color3.new(1, 0, 0)),
						ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0))
					}

					v2.Enabled = true
					v2.Parent = v
				end
			end
		end

		for _, v in pairs(owner.Character:GetDescendants()) do
			if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" and not v:FindFirstChild("StandAura") then
				local aura = templates.StandAura:Clone()

				for _, v2 in pairs(aura:GetChildren()) do
					v2.Color = ColorSequence.new{
						ColorSequenceKeypoint.new(0, Color3.new(1, 0, 0)),
						ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0))
					}

					v2.Enabled = true
					v2.Parent = v
				end
			end
		end

		AnimationHandler:Animate({
			["Rig"] = stand,
			["Priority"] = 1,
			["Wrapped"] = true,
			["Looping"] = true,
			["Tweening"] = true,
			["Animation"] = anims.Idle
		})

		play("SummonEffects")
		play("SummonVoiceline")

		if stand:FindFirstChild("Stand Torso") then
			if stand["Stand Torso"]:FindFirstChild("SummonParticle") then
				for i, v in pairs(stand["Stand Torso"].SummonParticle:GetChildren()) do
					v.LockedToPart = true
					v:Emit(v.Rate)
				end
			end
		end

		for _, v in pairs(stand:GetDescendants()) do
			if v.Name == "StandAura" then
				v.Enabled = true
			end
		end

		for _, v in pairs(owner.Character:GetDescendants()) do
			if v.Name == "StandAura" then
				v.Enabled = true
			end
		end
	elseif dbs.Summoned == true then
		dbs.Summoned = false

		for _, v in pairs(stand:GetDescendants()) do
			if v.Name == "StandAura" then
				v.Enabled = false
			end
		end

		for _, v in pairs(owner.Character:GetDescendants()) do
			if v.Name == "StandAura" then
				v.Enabled = false
			end
		end

		play("Unsummon")

		AnimationHandler:Stop({
			["Rig"] = stand,
			["FadeTime"] = .3,
			["Wrapped"] = true,
			["Animation"] = anims.Idle
		})

		for _, v in pairs(stand:GetDescendants()) do
			if v:IsA("BasePart") or v:IsA("Decal") or v:IsA("Texture") then
				game:GetService("TweenService"):Create(v, TweenInfo.new(.3), {Transparency = 1}):Play()
			end
		end
	end
	task.delay(.3, function()
		dbs.Stunned = false
		task.wait(cds.Summon - .3)

		dbs.Summon = false
	end)
end

local function combo()
	if dbs.LMBCombo == true then
		return
	end

	if dbs.Stunned == true then
		return
	end

	dbs.Stunned = true
	dbs.LMBCombo = true

	play("LMB" .. lmbc)

	local stats = {}

	if lmbc == 4 then
		stats = {
			["Stun"] = .4,
			["Damage"] = 25,
			["HitEffect"] = "Heavy",
			["Sound"] = "HeavyHitSFX",
			["Knockback"] = {35, .3, Vector3.new(0, 35, 0)}
		}
	else
		stats = {
			["Stun"] = .4,
			["Damage"] = 8,
			["Knockback"] = {5, .05}
		}
	end

	local sub = (dbs.Summoned == true and (lmbc / 2) or 0)
	linger(3, {stand.StandHumanoidRootPart, CFrame.new(0, 0, -3.75 - sub), Vector3.new(5, 5, 5)}, stats)

	local add = (dbs.Summoned == true and 0 or .1)
	local sm = (dbs.Summoned == true and "StandOn" or "StandOff")
	local wh = (dbs.Summoned == true and stand or owner.Character)

	AnimationHandler:Animate({
		["Rig"] = wh,
		["Wrapped"] = true,
		["Tweening"] = true,
		["Priority"] = 2 + (lmbc / 10),
		["Animation"] = anims[sm].LMB[tostring(lmbc)]
	})

	if lmbc == 4 then
		lmbc = 1

		task.delay(cds.LMBCombo, function()
			dbs.Stunned = false
		end)

		task.delay(cds.LMBFinisher, function()
			dbs.LMBCombo = false
		end)
	else
		play("SwingLMB")
		lmbc += 1

		coroutine.wrap(function()
			local clmb = lmbc
			task.wait(1.05)

			if lmbc == clmb then
				lmbc = 1
			end
		end)()

		task.delay(cds.LMBCombo + add, function()
			dbs.LMBCombo = false
			dbs.Stunned = false
		end)
	end
end

local function bfx(length, stretch, offset)
	local stretch = stretch or 1
	local cf = offset or stand.StandHumanoidRootPart.CFrame

	for _ = 1, 3 do
		local arm
		local p1, p2
		local lt = (cf * CFrame.new(0, 0, -10)).Position

		local function pgen(s)
			local rnd1

			if s == "Right" then
				rnd1 = Random.new():NextNumber(.5, 3) * stretch
			else
				rnd1 = Random.new():NextNumber(-3, -.5) * stretch
			end

			local rnd2 = Random.new():NextNumber(-.5, .5) * stretch

			local rnd3 = math.random()

			local p1 = (cf * CFrame.new(rnd1, rnd2, -2)).Position
			local p2 = (cf * CFrame.new(rnd1 * 2, rnd2 * 6, -4)).Position

			return p1, p2
		end

		if Random.new():NextInteger(1, 10) > 5 then
			local marm = templates.BarrageArms:FindFirstChild("Stand Right Arm")
			arm = marm:Clone()

			p1, p2 = pgen("Right")
		else
			local marm = templates.BarrageArms:FindFirstChild("Stand Left Arm")
			arm = marm:Clone()

			p1, p2 = pgen("Left")
		end

		local tp = Instance.new("Attachment", arm)
		tp.Position = Vector3.new(-.394, .793, .477)

		local bt = Instance.new("Attachment", arm)
		bt.Position = Vector3.new(.329, -.847, -.348)


		-- // local trl = templates["MotionBlur" .. Random.new():NextInteger(1, 2)]:Clone()
		-- // trl.Parent = arm
		-- // trl.Enabled = true
		-- // trl.Attachment0 = tp
		-- // trl.Attachment1 = bt
		-- // trl.Color = ColorSequence.new(arm.Color)
		-- // trl.Transparency = NumberSequence.new(0, 1)

		-- // arm.Trail.Transparency = NumberSequence.new(0, 1)

		local i = 0

		arm.Anchored = true
		arm.Parent = script
		arm.Transparency = 0

		local cnt
		local length = length or .7

		local rate = 1 / length

		for _, v in pairs(arm:GetDescendants()) do
			if v:IsA("Trail") then
				v.Enabled = true
			end
		end

		coroutine.wrap(function()
			task.wait(.2)

			for _, v in pairs(arm:GetChildren()) do
				if v:IsA("BasePart") then
					game:GetService("TweenService"):Create(v, TweenInfo.new(.2), {Transparency = 1}):Play()
				end
			end

			game:GetService("TweenService"):Create(arm, TweenInfo.new(.2), {Transparency = 1}):Play()

			-- // trl.Enabled = false

			for _, v in pairs(arm:GetDescendants()) do
				if v:IsA("Trail") then
					v.Enabled = false
				end
			end

			task.wait(.25)

			arm:Destroy()
		end)()

		local function bezier(p1, p2, p3, t)
			return (1 - t) ^ 2 * p1 + 2 * (1 - t) * t * p2 + t ^ 2 * p3
		end

		cnt = game:GetService("RunService").Heartbeat:Connect(function(dt)
			i = i + dt * rate

			if i > 1 then
				cnt:Disconnect()
				i = 1
			end

			if i + dt * rate <= .8 then
				local v = game:GetService("TweenService"):GetValue(i, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)

				local nv = game:GetService("TweenService"):GetValue(i + dt * rate, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)

				local p = bezier(p1, p2, lt, v)
				local np = bezier(p1, p2, lt, nv)

				arm.CFrame = CFrame.new(p, np) * CFrame.Angles(math.pi / 2, 0, 0)
			else
				local v = game:GetService("TweenService"):GetValue(i, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)

				local p = bezier(p1, p2, lt, v)
				arm.CFrame = CFrame.new(p, lt) * CFrame.Angles(math.pi / 2, 0, 0)
			end

			-- // print((arm.Position - owner.Character.HumanoidRootPart.Position).Magnitude)
		end)
	end
end

local function emoves()
	if dbs.Stunned == true then
		return
	end

	if dbs.Summoned == false then
		if dbs.FlyingUppercut == true then
			return
		end

		dbs.Stunned = true
		dbs.FlyingUppercut = true

		seth(12, "OG")

		play("FlyingUppercut")
		local track = AnimationHandler:Animate({
			-- // ["Speed"] = 2,
			["Priority"] = 3,
			["Wrapped"] = true,
			["Tweening"] = true,
			["Rig"] = owner.Character,
			["Animation"] = anims.StandOff.FlyingUppercut
		})

		track:GetMarkerReachedSignal("Hit"):Connect(function()
			linger(3, {stand.StandHumanoidRootPart, CFrame.new(0, 0, -2.5), Vector3.new(5, 5, 5)}, {
				["Stun"] = .5,
				["Damage"] = 30,
				["HitEffect"] = "Heavy",
				["Sound"] = "HeavyHitSFX",
				["Knockback"] = {50, .3, Vector3.new(0, -8, 0)}
			})

			task.wait(.2)
			seth("OG", "OG")
			dbs.Stunned = false

			task.delay(cds.FlyingUppercut, function()
				dbs.FlyingUppercut = false
			end)
		end)
	elseif dbs.Summoned == true then
		if dbs.Barrage == true then
			return
		end

		dbs.Stunned = true
		dbs.Barrage = true
		dbs.EHeld = true

		seth(12, "OG")

		local bsnd = sounds.Barrage:Clone()
		local bsfxnd = sounds.BarrageSFX:Clone()
		bsfxnd.Looped = true

		bsnd.Parent = stand.StandHumanoidRootPart
		bsfxnd.Parent = stand.StandHumanoidRootPart

		bsnd:Play()
		bsfxnd:Play()

		AnimationHandler:Animate({
			["Rig"] = stand,
			["Priority"] = 3,
			["Wrapped"] = true,
			["Tweening"] = true,
			["Animation"] = anims.StandOn.Barrage.Startup
		})

		task.wait(.26)

		local track = AnimationHandler:Animate({
			["Rig"] = stand,
			["Wrapped"] = true,
			["Looping"] = true,
			["Priority"] = 3.1,
			["Tweening"] = true,
			["Animation"] = anims.StandOn.Barrage.Loop
		})

		local t = tick()

		repeat
			coroutine.wrap(function()
				local inhb = hb(stand.StandHumanoidRootPart, CFrame.new(0, 0, -4.5), Vector3.new(5, 5, 6))

				attack(inhb, {
					["Stun"] = .5,
					["Damage"] = 1.5,
					["Knockback"] = {5, .05},
					["Sound"] = {"BarrageHitSFX1", "BarrageHitSFX2"}
				})

				bfx() -- // re:FireClient(owner, "BarrageFX")
			end)()

			task.wait(.07)
		until tick() - t >= 2 or dbs.EHeld == false

		AnimationHandler:Animate({
			["Rig"] = stand,
			["Wrapped"] = true,
			["Priority"] = 3.2,
			["Tweening"] = true,
			["Animation"] = anims.StandOn.Barrage.Finisher
		})

		AnimationHandler:Stop({
			["Rig"] = stand,
			["FadeTime"] = 0,
			["Animation"] = track.Animation
		})

		local inhb = hb(stand.StandHumanoidRootPart, CFrame.new(0, 0, -4.5), Vector3.new(5, 5, 6))

		attack(inhb, {
			["Stun"] = .5,
			["Damage"] = 25,
			["HitEffect"] = "Heavy",
			["Sound"] = "HeavyHitSFX",
			["Knockback"] = {50, .3, Vector3.new(0, -8, 0)}
		})

		task.wait(.2)

		bsnd:Stop()
		bsfxnd:Stop()

		seth("OG", "OG")
		dbs.Stunned = false

		task.delay(cds.Barrage, function()
			dbs.Barrage = false
		end)
	end
end

local function explode(pos, mdl)
	local params = RaycastParams.new()
	params.FilterDescendantsInstances = {mdl}
	params.FilterType = Enum.RaycastFilterType.Blacklist

	local cast = workspace:Raycast(pos, Vector3.new(0, -1000, 0), params)

	if cast then
		pos = cast.Position + Vector3.new(0, .05, 0)
	end

	local fx = templates.PrimaryBomb.Explosion:Clone()
	fx.Parent = script
	fx.Position = pos

	play("Explosion", fx)

	for _, v in pairs(fx:GetDescendants()) do
		if v:IsA("ParticleEmitter") then
			v:Emit(15)
		elseif v:IsA("PointLight") then
			v.Brightness = 15

			task.delay(.2, function()
				v.Brightness = 0
			end)
		end
	end

	attack({mdl}, {
		["Stun"] = 2,
		["Sound"] = "",
		["Damage"] = 35
	})

	local bv = Instance.new("BodyVelocity", mdl.HumanoidRootPart)
	bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
	bv.Velocity = (CFrame.new(pos, mdl.HumanoidRootPart.Position).lookVector * 35) + Vector3.new(0, 8, 0)

	task.delay(.2, bv.Destroy, bv)
	task.delay(5, fx.Destroy, fx)

	local params = OverlapParams.new()
	params.FilterType = Enum.RaycastFilterType.Blacklist
	params.FilterDescendantsInstances = {owner.Character}

	local hums = {}

	for _, hit in pairs(workspace:GetPartBoundsInRadius(pos, 13, params)) do
		local hum = findhum(hit)

		if hum and (hum ~= false and not table.find(hums, hum)) and hit:IsDescendantOf(mdl) == false then
			table.insert(hums, hum)

			attack({hit:FindFirstAncestorOfClass("Model")}, {
				["Stun"] = 2,
				["Sound"] = "",
				["Damage"] = 15
			})

			local bv = Instance.new("BodyVelocity", hit:FindFirstAncestorOfClass("Model").HumanoidRootPart)
			bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
			bv.Velocity = (CFrame.new(pos, hit:FindFirstAncestorOfClass("Model").HumanoidRootPart.Position).lookVector * 35) + Vector3.new(0, 8, 0)

			task.delay(.2, bv.Destroy, bv)
		end
	end
end

local function rmoves()
	if dbs.Stunned == true then
		return
	end

	if dbs.Summoned == true then
		if dbs.PrimaryBomb == true then
			return
		end

		dbs.Stunned = true
		dbs.PrimaryBomb = true

		seth(12, "OG")
		play("BombPlant")

		local track = AnimationHandler:Animate({
			["Speed"] = 3,
			["Rig"] = stand,
			["Priority"] = 3,
			["Wrapped"] = true,
			["Tweening"] = true,
			["Animation"] = anims.StandOn.BombPlant.Start
		})

		track:GetMarkerReachedSignal("Hit"):Connect(function()
			local done = false

			for i = 1, 3 do
				if done == true then
					break
				end

				local inhb = hb(stand.StandHumanoidRootPart, CFrame.new(0, 0, -3.5), Vector3.new(5, 5, 5))

				attack(inhb, {
					["Stun"] = .5,
					["Damage"] = 10,
					["HitEffect"] = "Bomb",
					["Knockback"] = {10, .3}
				})

				if #(inhb) ~= 0 then
					done = true

					local at = Instance.new("Attachment", inhb[1].HumanoidRootPart)
					at.Name = "SQBomb"

					table.insert(planted, at)

					print("planted")
					dbs.PrimaryBomb = false

					break
				end
			end

			task.wait(.2)
			seth("OG", "OG")
			dbs.Stunned = false

			task.delay(cds.PrimaryBomb, function()
				dbs.PrimaryBomb = false
			end)
		end)
	elseif dbs.Summoned == false then
		if dbs.Detonate == true then
			return
		end

		if #(planted) ~= 0 then
			dbs.Stunned = true
			dbs.Detonate = true

			seth(12, "OG")
			play("Detonate")

			AnimationHandler:Animate({
				["Speed"] = 2,
				["Priority"] = 3,
				["Wrapped"] = true,
				["Tweening"] = true,
				["Animation"] = anims.Detonate.User
			})

			task.wait(.5)

			for _, v in pairs(planted) do
				local at = templates.Effects.Warning.Exclamation:Clone()

				for _, v2 in pairs(at:GetChildren()) do
					v2.Parent = v
					v2:Emit(1)
				end
			end
			task.wait(.4)

			play("DetonateSFX")

			for _, v in pairs(planted) do
				explode(v.WorldPosition, v:FindFirstAncestorOfClass("Model"))
				task.delay(1, v.Destroy, v)
			end

			planted = {}
			task.wait(.2)

			seth("OG", "OG")
			dbs.Stunned = false

			task.delay(cds.Detonate, function()
				dbs.Detonate = false
			end)
		end
	end
end

re.OnServerEvent:Connect(function(plr, args)
	if owner.Character:GetAttribute("Stunned") == true then
		return
	end

	if args.Action == "Summon" then
		summon()
	elseif args.Action == "Update" then
		dbs.EHeld = args.EHeld
	elseif args.Action == "LMBCombo" then
		combo()
	elseif args.Action == "EMoves" then
		emoves()
	elseif args.Action == "RMoves" then
		rmoves()
	end
end)

AnimationHandler:Animate({
	["Speed"] = 1,
	["Priority"] = 1,
	["Wrapped"] = true,
	["Looping"] = true,
	["Tweening"] = true,
	["Rig"] = owner.Character,
	["Animation"] = anims.Idle
})

owner.Character.Humanoid.Running:Connect(function(spd)
	AnimationHandler:ToggleWelds(owner.Character, false, true)
	AnimationHandler:ToggleWelds(stand, false, true)

	if spd > .1 then
		if dbs.Idle == false and AnimationHandler._Animations[owner.Character][anims.Run] == nil then
			dbs.Idle = true

			AnimationHandler:Animate({
				["Speed"] = 1,
				["Priority"] = 2,
				["Wrapped"] = true,
				["Looping"] = true,
				["Tweening"] = true,
				["Rig"] = owner.Character,
				["Animation"] = anims.Run
			})

			AnimationHandler:Animate({
				["Speed"] = 1,
				["Rig"] = stand,
				["Priority"] = 2,
				["Wrapped"] = true,
				["Looping"] = true,
				["Tweening"] = true,
				["Animation"] = anims.Run
			})
		end
	elseif spd < .1 then
		dbs.Idle = false

		AnimationHandler:Stop({
			["FadeTime"] = .2,
			["Rig"] = owner.Character,
			["Animation"] = anims.Run
		})

		AnimationHandler:Stop({
			["Rig"] = stand,
			["FadeTime"] = .2,
			["Animation"] = anims.Run
		})
	end
end)

-- [[ LOCALSCRIPT ]] --

NLS([[ 
    local debug = true
    local re = script.Parent
    local m = owner:GetMouse()
    local cam = workspace.CurrentCamera
    local rf = re:FindFirstChild("SQFunction")
    local uis = game:GetService("UserInputService")

    local moveset = {
		["Q"] = "Summon",
		["E"] = "EMoves",
		["R"] = "RMoves",
		["M1"] = "LMBCombo"
    }

    script.Parent = workspace

    local function raycast()
        local mp = uis:GetMouseLocation()
        local mr = cam:ViewportPointToRay(mp.X, mp.Y)

        local params = RaycastParams.new()
        params.FilterDescendantsInstances = {tts}
        params.FilterType = Enum.RaycastFilterType.Blacklist

        local r = workspace:Raycast(mr.Origin, mr.Direction * 1000, params)

        if r then
            return {
                ["Hit"] = r.Position,
                ["Target"] = r.Instance
            }
        else
            return {
                ["Target"] = m.Target,
                ["Hit"] = m.Hit.Position
            }
        end
    end

    local function findhum(p)
        if p:FindFirstAncestorOfClass("Model") then
            if p:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid", true) then
                return p:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("Humanoid", true)
            else
                return nil
            end
        else
            return nil
        end
    end
    
    function rf.OnClientInvoke(pt, cf, size, bl, type)
        local params = OverlapParams.new()
        params.FilterDescendantsInstances = {owner.Character, script, bl}
        params.FilterType = Enum.RaycastFilterType.Blacklist

        if debug == true then
            local p = Instance.new("Part", script)
            p.Size = size
            p.Anchored = true
            p.CanCollide = false
            p.CastShadow = false
            p.Material = "ForceField"
            p.Color = Color3.new(1, 0, 0)

            if type == "Magnitude" then
                p.Shape = "Ball"
            end

            if pt ~= nil then
                p.CFrame = pt.CFrame * cf
            else
                p.CFrame = cf
            end

            coroutine.wrap(function()
                task.wait(.5)
                p:Destroy()
            end)()
        end
        
        local tbl
        local victims = {}
        
        if type == "Magnitude" then
            if pt ~= nil then
                tbl = workspace:GetPartBoundsInRadius(pt.CFrame.Position, size.X / 2, params)
            else
                tbl = workspace:GetPartBoundsInRadius(cf.Position, size.X / 2, params)
            end
        else
            if pt ~= nil then
                tbl = workspace:GetPartBoundsInBox(pt.CFrame * cf, size, params)
            else
                tbl = workspace:GetPartBoundsInBox(cf, size, params)
            end
        end

        for _, hit in pairs(tbl) do
            local hum = findhum(hit)
    
            if hum and not hit:FindFirstAncestorOfClass("Model"):FindFirstChild("Intangible") then -- // and hum.Health > 0 then
                if not table.find(victims, hit:FindFirstAncestorOfClass("Model")) then
                    table.insert(victims, hit:FindFirstAncestorOfClass("Model"))
                end
            end
        end

        return victims
    end

	m.Button1Down:Connect(function()
        re:FireServer({
            ["Action"] = moveset.M1
        })
    end)

    uis.InputBegan:Connect(function(k, gpc)
        if gpc then
            return
        end

        if moveset[k.KeyCode.Name] then
            re:FireServer({
                ["Mouse"] = raycast(),
                ["Action"] = moveset[k.KeyCode.Name]
            })
        end
    end)
    
    re.OnClientEvent:Connect(function(what, txt)
        if what == "Camera" then
            cam.CameraType = Enum.CameraType.Scriptable

            repeat
                game:GetService("RunService").RenderStepped:Wait()
                cam.CFrame = re.CameraCFrame.Value
            until re.StopCamera.Value == true

            cam.CameraType = Enum.CameraType.Custom
        elseif what == "Print" then
            print(txt)
        end
    end)

    game:GetService("RunService").RenderStepped:Connect(function()
        re:FireServer({
            ["Mouse"] = raycast(),
            ["Action"] = "Update",
            ["EHeld"] = uis:IsKeyDown(Enum.KeyCode.E)
        })
    end)
]], re)
INFO