code:
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		8433696F1F1D888E00840DA9 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8433696E1F1D888E00840DA9 /* OpenGL.framework */; };
		843369711F1D889C00840DA9 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843369701F1D889C00840DA9 /* Cocoa.framework */; };
		843369731F1D88A000840DA9 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843369721F1D88A000840DA9 /* IOKit.framework */; };
		843369751F1D88A800840DA9 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843369741F1D88A800840DA9 /* CoreVideo.framework */; };
		8437F8981F2F540300E89305 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8433694E1F1D885F00840DA9 /* main.cpp */; };
		8437F89C1F2F54B600E89305 /* HTTPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843369501F1D885F00840DA9 /* HTTPRequest.cpp */; };
		8437F89D1F2F54B900E89305 /* HTTPResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843369521F1D885F00840DA9 /* HTTPResponse.cpp */; };
		846965401F32A9EF00980986 /* BrowsingHistory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 846965391F32A9EF00980986 /* BrowsingHistory.cpp */; };
		846965411F32A9EF00980986 /* CommandLineParams.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8469653B1F32A9EF00980986 /* CommandLineParams.cpp */; };
		846965421F32A9EF00980986 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8469653D1F32A9EF00980986 /* Log.cpp */; };
		846965431F32A9EF00980986 /* URL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8469653E1F32A9EF00980986 /* URL.cpp */; };
		8488CED21F9AC7EF004C4836 /* HTTPSRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CED01F9AC7EF004C4836 /* HTTPSRequest.cpp */; };
		8488CEDB1F9AC7FC004C4836 /* CFGFileParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CED51F9AC7FC004C4836 /* CFGFileParser.cpp */; };
		8488CEDC1F9AC7FC004C4836 /* browser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CED81F9AC7FC004C4836 /* browser.cpp */; };
		8488CEDD1F9AC7FC004C4836 /* app.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CED91F9AC7FC004C4836 /* app.cpp */; };
		8488CEEF1F9AC81E004C4836 /* FormData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEE01F9AC81C004C4836 /* FormData.cpp */; };
		8488CEF01F9AC81E004C4836 /* slre.c in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEE21F9AC81D004C4836 /* slre.c */; };
		8488CEF11F9AC81E004C4836 /* tlsf.c in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEE41F9AC81D004C4836 /* tlsf.c */; };
		8488CEF21F9AC81E004C4836 /* Murmur3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEE51F9AC81D004C4836 /* Murmur3.cpp */; };
		8488CEF31F9AC81E004C4836 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEE81F9AC81D004C4836 /* StringUtils.cpp */; };
		8488CEF41F9AC81E004C4836 /* WebResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEEA1F9AC81D004C4836 /* WebResource.cpp */; };
		8488CEF51F9AC81E004C4836 /* scheduler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEEC1F9AC81E004C4836 /* scheduler.cpp */; };
		8488CEF61F9AC81E004C4836 /* TextBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CEED1F9AC81E004C4836 /* TextBlock.cpp */; };
		8488CF051F9AC8F8004C4836 /* Path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF021F9AC8F8004C4836 /* Path.cpp */; };
		8488CF061F9AC8F8004C4836 /* Environment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF041F9AC8F8004C4836 /* Environment.cpp */; };
		8488CF0B1F9AC92E004C4836 /* TextWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF091F9AC92E004C4836 /* TextWindow.cpp */; };
		8488CF6A1F9AC93F004C4836 /* pnm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF0F1F9AC93E004C4836 /* pnm.cpp */; };
		8488CF6B1F9AC93F004C4836 /* tga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF121F9AC93E004C4836 /* tga.cpp */; };
		8488CF6C1F9AC93F004C4836 /* HTMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF161F9AC93E004C4836 /* HTMLParser.cpp */; };
		8488CF6D1F9AC93F004C4836 /* Node.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF181F9AC93E004C4836 /* Node.cpp */; };
		8488CF6E1F9AC93F004C4836 /* NTRMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF1B1F9AC93E004C4836 /* NTRMLParser.cpp */; };
		8488CF6F1F9AC93F004C4836 /* TagNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF1D1F9AC93E004C4836 /* TagNode.cpp */; };
		8488CF701F9AC93F004C4836 /* TextNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF1F1F9AC93E004C4836 /* TextNode.cpp */; };
		8488CF711F9AC93F004C4836 /* JSParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF231F9AC93E004C4836 /* JSParser.cpp */; };
		8488CF721F9AC93F004C4836 /* BoxComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF271F9AC93F004C4836 /* BoxComponent.cpp */; };
		8488CF731F9AC93F004C4836 /* ButtonComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF291F9AC93F004C4836 /* ButtonComponent.cpp */; };
		8488CF741F9AC93F004C4836 /* Component.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF2B1F9AC93F004C4836 /* Component.cpp */; };
		8488CF751F9AC93F004C4836 /* ComponentBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF2D1F9AC93F004C4836 /* ComponentBuilder.cpp */; };
		8488CF761F9AC93F004C4836 /* DocumentComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF2F1F9AC93F004C4836 /* DocumentComponent.cpp */; };
		8488CF771F9AC93F004C4836 /* ImageComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF311F9AC93F004C4836 /* ImageComponent.cpp */; };
		8488CF781F9AC93F004C4836 /* InputComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF331F9AC93F004C4836 /* InputComponent.cpp */; };
		8488CF791F9AC93F004C4836 /* MultiComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF351F9AC93F004C4836 /* MultiComponent.cpp */; };
		8488CF7A1F9AC93F004C4836 /* TabbedComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF371F9AC93F004C4836 /* TabbedComponent.cpp */; };
		8488CF7B1F9AC93F004C4836 /* TextComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF391F9AC93F004C4836 /* TextComponent.cpp */; };
		8488CF7C1F9AC93F004C4836 /* AElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF3C1F9AC93F004C4836 /* AElement.cpp */; };
		8488CF7D1F9AC93F004C4836 /* BUTTONElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF3E1F9AC93F004C4836 /* BUTTONElement.cpp */; };
		8488CF7E1F9AC93F004C4836 /* DIVElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF401F9AC93F004C4836 /* DIVElement.cpp */; };
		8488CF7F1F9AC93F004C4836 /* Element.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF421F9AC93F004C4836 /* Element.cpp */; };
		8488CF801F9AC93F004C4836 /* H1Element.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF441F9AC93F004C4836 /* H1Element.cpp */; };
		8488CF811F9AC93F004C4836 /* H2Element.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF461F9AC93F004C4836 /* H2Element.cpp */; };
		8488CF821F9AC93F004C4836 /* H3Element.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF481F9AC93F004C4836 /* H3Element.cpp */; };
		8488CF831F9AC93F004C4836 /* INPUTElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF4A1F9AC93F004C4836 /* INPUTElement.cpp */; };
		8488CF841F9AC93F004C4836 /* LIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF4C1F9AC93F004C4836 /* LIElement.cpp */; };
		8488CF851F9AC93F004C4836 /* LINKElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF4E1F9AC93F004C4836 /* LINKElement.cpp */; };
		8488CF861F9AC93F004C4836 /* SCRIPTElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF501F9AC93F004C4836 /* SCRIPTElement.cpp */; };
		8488CF871F9AC93F004C4836 /* SPANElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF521F9AC93F004C4836 /* SPANElement.cpp */; };
		8488CF881F9AC93F004C4836 /* STRONGElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF541F9AC93F004C4836 /* STRONGElement.cpp */; };
		8488CF891F9AC93F004C4836 /* TEXTAREAElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF561F9AC93F004C4836 /* TEXTAREAElement.cpp */; };
		8488CF8A1F9AC93F004C4836 /* TextRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF5A1F9AC93F004C4836 /* TextRasterizer.cpp */; };
		8488CF8B1F9AC93F004C4836 /* TextRasterizerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF5C1F9AC93F004C4836 /* TextRasterizerCache.cpp */; };
		8488CF8C1F9AC93F004C4836 /* opengl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF601F9AC93F004C4836 /* opengl.cpp */; };
		8488CF8D1F9AC93F004C4836 /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF621F9AC93F004C4836 /* Shader.cpp */; };
		8488CF8E1F9AC93F004C4836 /* ShaderLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF641F9AC93F004C4836 /* ShaderLoader.cpp */; };
		8488CF8F1F9AC93F004C4836 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF661F9AC93F004C4836 /* Window.cpp */; };
		8488CF901F9AC93F004C4836 /* renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8488CF681F9AC93F004C4836 /* renderer.cpp */; };
		84AD5E761F9ACC59004216B5 /* anime.pnm in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E6E1F9ACC2C004216B5 /* anime.pnm */; };
		84AD5E771F9ACC5C004216B5 /* netrunner.cfg in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E6C1F9ACC2C004216B5 /* netrunner.cfg */; };
		84AD5E781F9ACC5E004216B5 /* DejaVuSerif-Bold.ttf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8488CECD1F9AC7B0004C4836 /* DejaVuSerif-Bold.ttf */; };
		84AD5E791F9ACC60004216B5 /* DejaVuSerif.ttf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8488CECE1F9AC7B0004C4836 /* DejaVuSerif.ttf */; };
		84AD5E7B1F9ACC76004216B5 /* FontShader.frag in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E701F9ACC32004216B5 /* FontShader.frag */; };
		84AD5E7C1F9ACC79004216B5 /* FontShader.vert in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E711F9ACC32004216B5 /* FontShader.vert */; };
		84AD5E7D1F9ACC7C004216B5 /* TextureShader.frag in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E721F9ACC32004216B5 /* TextureShader.frag */; };
		84AD5E7E1F9ACC80004216B5 /* TextureShader.vert in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E731F9ACC32004216B5 /* TextureShader.vert */; };
		84AD5E801F9ACC97004216B5 /* browser.ntrml in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E741F9ACC41004216B5 /* browser.ntrml */; };
		84AD5E811F9ACCA6004216B5 /* ca-bundle.crt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AD5E751F9ACC41004216B5 /* ca-bundle.crt */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		843369061F1D881B00840DA9 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 12;
			dstPath = res;
			dstSubfolderSpec = 6;
			files = (
				84AD5E761F9ACC59004216B5 /* anime.pnm in CopyFiles */,
				84AD5E771F9ACC5C004216B5 /* netrunner.cfg in CopyFiles */,
				84AD5E791F9ACC60004216B5 /* DejaVuSerif.ttf in CopyFiles */,
				84AD5E781F9ACC5E004216B5 /* DejaVuSerif-Bold.ttf in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		84AD5E7A1F9ACC66004216B5 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = res/shaders;
			dstSubfolderSpec = 6;
			files = (
				84AD5E7B1F9ACC76004216B5 /* FontShader.frag in CopyFiles */,
				84AD5E7C1F9ACC79004216B5 /* FontShader.vert in CopyFiles */,
				84AD5E7D1F9ACC7C004216B5 /* TextureShader.frag in CopyFiles */,
				84AD5E7E1F9ACC80004216B5 /* TextureShader.vert in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		84AD5E7F1F9ACC87004216B5 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 6;
			files = (
				84AD5E801F9ACC97004216B5 /* browser.ntrml in CopyFiles */,
				84AD5E811F9ACCA6004216B5 /* ca-bundle.crt in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		843369081F1D881B00840DA9 /* Saltasaurus */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Saltasaurus; sourceTree = BUILT_PRODUCTS_DIR; };
		8433694E1F1D885F00840DA9 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../src/main.cpp; sourceTree = SOURCE_ROOT; };
		843369501F1D885F00840DA9 /* HTTPRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPRequest.cpp; sourceTree = "<group>"; };
		843369511F1D885F00840DA9 /* HTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPRequest.h; sourceTree = "<group>"; };
		843369521F1D885F00840DA9 /* HTTPResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPResponse.cpp; sourceTree = "<group>"; };
		843369531F1D885F00840DA9 /* HTTPResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPResponse.h; sourceTree = "<group>"; };
		8433696E1F1D888E00840DA9 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
		843369701F1D889C00840DA9 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		843369721F1D88A000840DA9 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
		843369741F1D88A800840DA9 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
		843C31291F2F5307006F00B3 /* info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = info.plist; path = xcode/info.plist; sourceTree = "<group>"; };
		846965381F32A9EF00980986 /* Log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Log.h; sourceTree = "<group>"; };
		846965391F32A9EF00980986 /* BrowsingHistory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BrowsingHistory.cpp; sourceTree = "<group>"; };
		8469653A1F32A9EF00980986 /* BrowsingHistory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowsingHistory.h; sourceTree = "<group>"; };
		8469653B1F32A9EF00980986 /* CommandLineParams.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandLineParams.cpp; sourceTree = "<group>"; };
		8469653C1F32A9EF00980986 /* CommandLineParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandLineParams.h; sourceTree = "<group>"; };
		8469653D1F32A9EF00980986 /* Log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Log.cpp; sourceTree = "<group>"; };
		8469653E1F32A9EF00980986 /* URL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URL.cpp; sourceTree = "<group>"; };
		8469653F1F32A9EF00980986 /* URL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URL.h; sourceTree = "<group>"; };
		8488CECD1F9AC7B0004C4836 /* DejaVuSerif-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "DejaVuSerif-Bold.ttf"; sourceTree = "<group>"; };
		8488CECE1F9AC7B0004C4836 /* DejaVuSerif.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = DejaVuSerif.ttf; sourceTree = "<group>"; };
		8488CECF1F9AC7EF004C4836 /* HTTPSRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPSRequest.h; sourceTree = "<group>"; };
		8488CED01F9AC7EF004C4836 /* HTTPSRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPSRequest.cpp; sourceTree = "<group>"; };
		8488CED11F9AC7EF004C4836 /* HTTPCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPCommon.h; sourceTree = "<group>"; };
		8488CED31F9AC7FB004C4836 /* FormData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormData.h; sourceTree = "<group>"; };
		8488CED41F9AC7FB004C4836 /* CFGFileParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFGFileParser.h; sourceTree = "<group>"; };
		8488CED51F9AC7FC004C4836 /* CFGFileParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CFGFileParser.cpp; sourceTree = "<group>"; };
		8488CED61F9AC7FC004C4836 /* browser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = browser.h; sourceTree = "<group>"; };
		8488CED71F9AC7FC004C4836 /* app.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = app.h; sourceTree = "<group>"; };
		8488CED81F9AC7FC004C4836 /* browser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = browser.cpp; sourceTree = "<group>"; };
		8488CED91F9AC7FC004C4836 /* app.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = app.cpp; sourceTree = "<group>"; };
		8488CEDA1F9AC7FC004C4836 /* netrunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = netrunner.h; sourceTree = "<group>"; };
		8488CEDE1F9AC81C004C4836 /* tlsf-winnt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "tlsf-winnt.h"; sourceTree = "<group>"; };
		8488CEDF1F9AC81C004C4836 /* TextBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextBlock.h; sourceTree = "<group>"; };
		8488CEE01F9AC81C004C4836 /* FormData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormData.cpp; sourceTree = "<group>"; };
		8488CEE11F9AC81C004C4836 /* tlsf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tlsf.h; sourceTree = "<group>"; };
		8488CEE21F9AC81D004C4836 /* slre.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = slre.c; sourceTree = "<group>"; };
		8488CEE31F9AC81D004C4836 /* LRUCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LRUCache.h; sourceTree = "<group>"; };
		8488CEE41F9AC81D004C4836 /* tlsf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tlsf.c; sourceTree = "<group>"; };
		8488CEE51F9AC81D004C4836 /* Murmur3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Murmur3.cpp; sourceTree = "<group>"; };
		8488CEE61F9AC81D004C4836 /* Murmur3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Murmur3.h; sourceTree = "<group>"; };
		8488CEE71F9AC81D004C4836 /* slre.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = slre.h; sourceTree = "<group>"; };
		8488CEE81F9AC81D004C4836 /* StringUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringUtils.cpp; sourceTree = "<group>"; };
		8488CEE91F9AC81D004C4836 /* target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = target.h; sourceTree = "<group>"; };
		8488CEEA1F9AC81D004C4836 /* WebResource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResource.cpp; sourceTree = "<group>"; };
		8488CEEC1F9AC81E004C4836 /* scheduler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = scheduler.cpp; sourceTree = "<group>"; };
		8488CEED1F9AC81E004C4836 /* TextBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBlock.cpp; sourceTree = "<group>"; };
		8488CEEE1F9AC81E004C4836 /* StringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringUtils.h; sourceTree = "<group>"; };
		8488CEF71F9AC875004C4836 /* scheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scheduler.h; sourceTree = "<group>"; };
		8488CEF81F9AC875004C4836 /* WebResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResource.h; sourceTree = "<group>"; };
		8488CF011F9AC8F8004C4836 /* Environment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Environment.h; sourceTree = "<group>"; };
		8488CF021F9AC8F8004C4836 /* Path.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Path.cpp; sourceTree = "<group>"; };
		8488CF031F9AC8F8004C4836 /* Path.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Path.h; sourceTree = "<group>"; };
		8488CF041F9AC8F8004C4836 /* Environment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Environment.cpp; sourceTree = "<group>"; };
		8488CF091F9AC92E004C4836 /* TextWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextWindow.cpp; sourceTree = "<group>"; };
		8488CF0A1F9AC92E004C4836 /* TextWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextWindow.h; sourceTree = "<group>"; };
		8488CF0F1F9AC93E004C4836 /* pnm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pnm.cpp; sourceTree = "<group>"; };
		8488CF101F9AC93E004C4836 /* pnm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pnm.h; sourceTree = "<group>"; };
		8488CF121F9AC93E004C4836 /* tga.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tga.cpp; sourceTree = "<group>"; };
		8488CF131F9AC93E004C4836 /* tga.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tga.h; sourceTree = "<group>"; };
		8488CF161F9AC93E004C4836 /* HTMLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLParser.cpp; sourceTree = "<group>"; };
		8488CF171F9AC93E004C4836 /* HTMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLParser.h; sourceTree = "<group>"; };
		8488CF181F9AC93E004C4836 /* Node.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Node.cpp; sourceTree = "<group>"; };
		8488CF191F9AC93E004C4836 /* Node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Node.h; sourceTree = "<group>"; };
		8488CF1B1F9AC93E004C4836 /* NTRMLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NTRMLParser.cpp; sourceTree = "<group>"; };
		8488CF1C1F9AC93E004C4836 /* NTRMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NTRMLParser.h; sourceTree = "<group>"; };
		8488CF1D1F9AC93E004C4836 /* TagNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TagNode.cpp; sourceTree = "<group>"; };
		8488CF1E1F9AC93E004C4836 /* TagNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TagNode.h; sourceTree = "<group>"; };
		8488CF1F1F9AC93E004C4836 /* TextNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextNode.cpp; sourceTree = "<group>"; };
		8488CF201F9AC93E004C4836 /* TextNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextNode.h; sourceTree = "<group>"; };
		8488CF231F9AC93E004C4836 /* JSParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSParser.cpp; sourceTree = "<group>"; };
		8488CF241F9AC93E004C4836 /* JSParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSParser.h; sourceTree = "<group>"; };
		8488CF271F9AC93F004C4836 /* BoxComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BoxComponent.cpp; sourceTree = "<group>"; };
		8488CF281F9AC93F004C4836 /* BoxComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoxComponent.h; sourceTree = "<group>"; };
		8488CF291F9AC93F004C4836 /* ButtonComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ButtonComponent.cpp; sourceTree = "<group>"; };
		8488CF2A1F9AC93F004C4836 /* ButtonComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ButtonComponent.h; sourceTree = "<group>"; };
		8488CF2B1F9AC93F004C4836 /* Component.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Component.cpp; sourceTree = "<group>"; };
		8488CF2C1F9AC93F004C4836 /* Component.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Component.h; sourceTree = "<group>"; };
		8488CF2D1F9AC93F004C4836 /* ComponentBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBuilder.cpp; sourceTree = "<group>"; };
		8488CF2E1F9AC93F004C4836 /* ComponentBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBuilder.h; sourceTree = "<group>"; };
		8488CF2F1F9AC93F004C4836 /* DocumentComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentComponent.cpp; sourceTree = "<group>"; };
		8488CF301F9AC93F004C4836 /* DocumentComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentComponent.h; sourceTree = "<group>"; };
		8488CF311F9AC93F004C4836 /* ImageComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageComponent.cpp; sourceTree = "<group>"; };
		8488CF321F9AC93F004C4836 /* ImageComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageComponent.h; sourceTree = "<group>"; };
		8488CF331F9AC93F004C4836 /* InputComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InputComponent.cpp; sourceTree = "<group>"; };
		8488CF341F9AC93F004C4836 /* InputComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputComponent.h; sourceTree = "<group>"; };
		8488CF351F9AC93F004C4836 /* MultiComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiComponent.cpp; sourceTree = "<group>"; };
		8488CF361F9AC93F004C4836 /* MultiComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiComponent.h; sourceTree = "<group>"; };
		8488CF371F9AC93F004C4836 /* TabbedComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TabbedComponent.cpp; sourceTree = "<group>"; };
		8488CF381F9AC93F004C4836 /* TabbedComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabbedComponent.h; sourceTree = "<group>"; };
		8488CF391F9AC93F004C4836 /* TextComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextComponent.cpp; sourceTree = "<group>"; };
		8488CF3A1F9AC93F004C4836 /* TextComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextComponent.h; sourceTree = "<group>"; };
		8488CF3C1F9AC93F004C4836 /* AElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AElement.cpp; sourceTree = "<group>"; };
		8488CF3D1F9AC93F004C4836 /* AElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AElement.h; sourceTree = "<group>"; };
		8488CF3E1F9AC93F004C4836 /* BUTTONElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BUTTONElement.cpp; sourceTree = "<group>"; };
		8488CF3F1F9AC93F004C4836 /* BUTTONElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BUTTONElement.h; sourceTree = "<group>"; };
		8488CF401F9AC93F004C4836 /* DIVElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DIVElement.cpp; sourceTree = "<group>"; };
		8488CF411F9AC93F004C4836 /* DIVElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DIVElement.h; sourceTree = "<group>"; };
		8488CF421F9AC93F004C4836 /* Element.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Element.cpp; sourceTree = "<group>"; };
		8488CF431F9AC93F004C4836 /* Element.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Element.h; sourceTree = "<group>"; };
		8488CF441F9AC93F004C4836 /* H1Element.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = H1Element.cpp; sourceTree = "<group>"; };
		8488CF451F9AC93F004C4836 /* H1Element.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H1Element.h; sourceTree = "<group>"; };
		8488CF461F9AC93F004C4836 /* H2Element.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = H2Element.cpp; sourceTree = "<group>"; };
		8488CF471F9AC93F004C4836 /* H2Element.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H2Element.h; sourceTree = "<group>"; };
		8488CF481F9AC93F004C4836 /* H3Element.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = H3Element.cpp; sourceTree = "<group>"; };
		8488CF491F9AC93F004C4836 /* H3Element.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H3Element.h; sourceTree = "<group>"; };
		8488CF4A1F9AC93F004C4836 /* INPUTElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = INPUTElement.cpp; sourceTree = "<group>"; };
		8488CF4B1F9AC93F004C4836 /* INPUTElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = INPUTElement.h; sourceTree = "<group>"; };
		8488CF4C1F9AC93F004C4836 /* LIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LIElement.cpp; sourceTree = "<group>"; };
		8488CF4D1F9AC93F004C4836 /* LIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LIElement.h; sourceTree = "<group>"; };
		8488CF4E1F9AC93F004C4836 /* LINKElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LINKElement.cpp; sourceTree = "<group>"; };
		8488CF4F1F9AC93F004C4836 /* LINKElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LINKElement.h; sourceTree = "<group>"; };
		8488CF501F9AC93F004C4836 /* SCRIPTElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SCRIPTElement.cpp; sourceTree = "<group>"; };
		8488CF511F9AC93F004C4836 /* SCRIPTElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCRIPTElement.h; sourceTree = "<group>"; };
		8488CF521F9AC93F004C4836 /* SPANElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPANElement.cpp; sourceTree = "<group>"; };
		8488CF531F9AC93F004C4836 /* SPANElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPANElement.h; sourceTree = "<group>"; };
		8488CF541F9AC93F004C4836 /* STRONGElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = STRONGElement.cpp; sourceTree = "<group>"; };
		8488CF551F9AC93F004C4836 /* STRONGElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STRONGElement.h; sourceTree = "<group>"; };
		8488CF561F9AC93F004C4836 /* TEXTAREAElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TEXTAREAElement.cpp; sourceTree = "<group>"; };
		8488CF571F9AC93F004C4836 /* TEXTAREAElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TEXTAREAElement.h; sourceTree = "<group>"; };
		8488CF5A1F9AC93F004C4836 /* TextRasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextRasterizer.cpp; sourceTree = "<group>"; };
		8488CF5B1F9AC93F004C4836 /* TextRasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextRasterizer.h; sourceTree = "<group>"; };
		8488CF5C1F9AC93F004C4836 /* TextRasterizerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextRasterizerCache.cpp; sourceTree = "<group>"; };
		8488CF5D1F9AC93F004C4836 /* TextRasterizerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextRasterizerCache.h; sourceTree = "<group>"; };
		8488CF601F9AC93F004C4836 /* opengl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = opengl.cpp; sourceTree = "<group>"; };
		8488CF611F9AC93F004C4836 /* opengl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opengl.h; sourceTree = "<group>"; };
		8488CF621F9AC93F004C4836 /* Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shader.cpp; sourceTree = "<group>"; };
		8488CF631F9AC93F004C4836 /* Shader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shader.h; sourceTree = "<group>"; };
		8488CF641F9AC93F004C4836 /* ShaderLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLoader.cpp; sourceTree = "<group>"; };
		8488CF651F9AC93F004C4836 /* ShaderLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLoader.h; sourceTree = "<group>"; };
		8488CF661F9AC93F004C4836 /* Window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = "<group>"; };
		8488CF671F9AC93F004C4836 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = "<group>"; };
		8488CF681F9AC93F004C4836 /* renderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = renderer.cpp; sourceTree = "<group>"; };
		8488CF691F9AC93F004C4836 /* renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = renderer.h; sourceTree = "<group>"; };
		84AD5E6C1F9ACC2C004216B5 /* netrunner.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = netrunner.cfg; sourceTree = "<group>"; };
		84AD5E6E1F9ACC2C004216B5 /* anime.pnm */ = {isa = PBXFileReference; lastKnownFileType = file; path = anime.pnm; sourceTree = "<group>"; };
		84AD5E701F9ACC32004216B5 /* FontShader.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = FontShader.frag; sourceTree = "<group>"; };
		84AD5E711F9ACC32004216B5 /* FontShader.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = FontShader.vert; sourceTree = "<group>"; };
		84AD5E721F9ACC32004216B5 /* TextureShader.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = TextureShader.frag; sourceTree = "<group>"; };
		84AD5E731F9ACC32004216B5 /* TextureShader.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = TextureShader.vert; sourceTree = "<group>"; };
		84AD5E741F9ACC41004216B5 /* browser.ntrml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = browser.ntrml; sourceTree = "<group>"; };
		84AD5E751F9ACC41004216B5 /* ca-bundle.crt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "ca-bundle.crt"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		843369051F1D881B00840DA9 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				843369751F1D88A800840DA9 /* CoreVideo.framework in Frameworks */,
				843369731F1D88A000840DA9 /* IOKit.framework in Frameworks */,
				843369711F1D889C00840DA9 /* Cocoa.framework in Frameworks */,
				8433696F1F1D888E00840DA9 /* OpenGL.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		843368FF1F1D881B00840DA9 = {
			isa = PBXGroup;
			children = (
				8433690A1F1D881B00840DA9 /* Saltasaurus */,
				843369091F1D881B00840DA9 /* Products */,
				8433696D1F1D888E00840DA9 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		843369091F1D881B00840DA9 /* Products */ = {
			isa = PBXGroup;
			children = (
				843369081F1D881B00840DA9 /* Saltasaurus */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		8433690A1F1D881B00840DA9 /* Saltasaurus */ = {
			isa = PBXGroup;
			children = (
				8488CECC1F9AC7A8004C4836 /* res */,
				843C31291F2F5307006F00B3 /* info.plist */,
				84AD5E741F9ACC41004216B5 /* browser.ntrml */,
				84AD5E751F9ACC41004216B5 /* ca-bundle.crt */,
				843369121F1D885F00840DA9 /* src */,
			);
			name = Saltasaurus;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		843369121F1D885F00840DA9 /* src */ = {
			isa = PBXGroup;
			children = (
				8488CEF91F9AC8D2004C4836 /* environment */,
				8488CF251F9AC93F004C4836 /* interfaces */,
				8488CF071F9AC902004C4836 /* graphics */,
				8488CEE31F9AC81D004C4836 /* LRUCache.h */,
				8488CEE51F9AC81D004C4836 /* Murmur3.cpp */,
				8488CEE61F9AC81D004C4836 /* Murmur3.h */,
				8488CEE21F9AC81D004C4836 /* slre.c */,
				8488CEE71F9AC81D004C4836 /* slre.h */,
				8488CEE91F9AC81D004C4836 /* target.h */,
				8488CEDE1F9AC81C004C4836 /* tlsf-winnt.h */,
				8488CEE41F9AC81D004C4836 /* tlsf.c */,
				8488CEDA1F9AC7FC004C4836 /* netrunner.h */,
				8488CF0C1F9AC93E004C4836 /* parsers */,
				8433694F1F1D885F00840DA9 /* networking */,
				8488CED91F9AC7FC004C4836 /* app.cpp */,
				8488CED71F9AC7FC004C4836 /* app.h */,
				8488CED81F9AC7FC004C4836 /* browser.cpp */,
				8488CED61F9AC7FC004C4836 /* browser.h */,
				8433694E1F1D885F00840DA9 /* main.cpp */,
				846965391F32A9EF00980986 /* BrowsingHistory.cpp */,
				8469653A1F32A9EF00980986 /* BrowsingHistory.h */,
				8488CED51F9AC7FC004C4836 /* CFGFileParser.cpp */,
				8488CED41F9AC7FB004C4836 /* CFGFileParser.h */,
				8469653B1F32A9EF00980986 /* CommandLineParams.cpp */,
				8469653C1F32A9EF00980986 /* CommandLineParams.h */,
				8488CEE01F9AC81C004C4836 /* FormData.cpp */,
				8488CED31F9AC7FB004C4836 /* FormData.h */,
				8488CEE11F9AC81C004C4836 /* tlsf.h */,
				8469653D1F32A9EF00980986 /* Log.cpp */,
				846965381F32A9EF00980986 /* Log.h */,
				8488CEE81F9AC81D004C4836 /* StringUtils.cpp */,
				8488CEEE1F9AC81E004C4836 /* StringUtils.h */,
				8488CEEC1F9AC81E004C4836 /* scheduler.cpp */,
				8488CEF71F9AC875004C4836 /* scheduler.h */,
				8488CEED1F9AC81E004C4836 /* TextBlock.cpp */,
				8488CEDF1F9AC81C004C4836 /* TextBlock.h */,
				8469653E1F32A9EF00980986 /* URL.cpp */,
				8469653F1F32A9EF00980986 /* URL.h */,
				8488CEEA1F9AC81D004C4836 /* WebResource.cpp */,
				8488CEF81F9AC875004C4836 /* WebResource.h */,
			);
			path = src;
			sourceTree = "<group>";
		};
		8433694F1F1D885F00840DA9 /* networking */ = {
			isa = PBXGroup;
			children = (
				8488CED11F9AC7EF004C4836 /* HTTPCommon.h */,
				8488CED01F9AC7EF004C4836 /* HTTPSRequest.cpp */,
				8488CECF1F9AC7EF004C4836 /* HTTPSRequest.h */,
				843369501F1D885F00840DA9 /* HTTPRequest.cpp */,
				843369511F1D885F00840DA9 /* HTTPRequest.h */,
				843369521F1D885F00840DA9 /* HTTPResponse.cpp */,
				843369531F1D885F00840DA9 /* HTTPResponse.h */,
			);
			path = networking;
			sourceTree = "<group>";
		};
		8433696D1F1D888E00840DA9 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				843369741F1D88A800840DA9 /* CoreVideo.framework */,
				843369721F1D88A000840DA9 /* IOKit.framework */,
				843369701F1D889C00840DA9 /* Cocoa.framework */,
				8433696E1F1D888E00840DA9 /* OpenGL.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		8488CECC1F9AC7A8004C4836 /* res */ = {
			isa = PBXGroup;
			children = (
				84AD5E6F1F9ACC32004216B5 /* shaders */,
				84AD5E6E1F9ACC2C004216B5 /* anime.pnm */,
				84AD5E6C1F9ACC2C004216B5 /* netrunner.cfg */,
				8488CECD1F9AC7B0004C4836 /* DejaVuSerif-Bold.ttf */,
				8488CECE1F9AC7B0004C4836 /* DejaVuSerif.ttf */,
			);
			path = res;
			sourceTree = "<group>";
		};
		8488CEF91F9AC8D2004C4836 /* environment */ = {
			isa = PBXGroup;
			children = (
				8488CF041F9AC8F8004C4836 /* Environment.cpp */,
				8488CF011F9AC8F8004C4836 /* Environment.h */,
				8488CF021F9AC8F8004C4836 /* Path.cpp */,
				8488CF031F9AC8F8004C4836 /* Path.h */,
			);
			path = environment;
			sourceTree = "<group>";
		};
		8488CF071F9AC902004C4836 /* graphics */ = {
			isa = PBXGroup;
			children = (
				8488CF081F9AC92E004C4836 /* opengl */,
			);
			path = graphics;
			sourceTree = "<group>";
		};
		8488CF081F9AC92E004C4836 /* opengl */ = {
			isa = PBXGroup;
			children = (
				8488CF091F9AC92E004C4836 /* TextWindow.cpp */,
				8488CF0A1F9AC92E004C4836 /* TextWindow.h */,
			);
			path = opengl;
			sourceTree = "<group>";
		};
		8488CF0C1F9AC93E004C4836 /* parsers */ = {
			isa = PBXGroup;
			children = (
				8488CF0D1F9AC93E004C4836 /* images */,
				8488CF141F9AC93E004C4836 /* markup */,
				8488CF211F9AC93E004C4836 /* scripting */,
			);
			path = parsers;
			sourceTree = "<group>";
		};
		8488CF0D1F9AC93E004C4836 /* images */ = {
			isa = PBXGroup;
			children = (
				8488CF0E1F9AC93E004C4836 /* netpbm */,
				8488CF111F9AC93E004C4836 /* tga */,
			);
			path = images;
			sourceTree = "<group>";
		};
		8488CF0E1F9AC93E004C4836 /* netpbm */ = {
			isa = PBXGroup;
			children = (
				8488CF0F1F9AC93E004C4836 /* pnm.cpp */,
				8488CF101F9AC93E004C4836 /* pnm.h */,
			);
			path = netpbm;
			sourceTree = "<group>";
		};
		8488CF111F9AC93E004C4836 /* tga */ = {
			isa = PBXGroup;
			children = (
				8488CF121F9AC93E004C4836 /* tga.cpp */,
				8488CF131F9AC93E004C4836 /* tga.h */,
			);
			path = tga;
			sourceTree = "<group>";
		};
		8488CF141F9AC93E004C4836 /* markup */ = {
			isa = PBXGroup;
			children = (
				8488CF151F9AC93E004C4836 /* html */,
				8488CF181F9AC93E004C4836 /* Node.cpp */,
				8488CF191F9AC93E004C4836 /* Node.h */,
				8488CF1A1F9AC93E004C4836 /* ntrml */,
				8488CF1D1F9AC93E004C4836 /* TagNode.cpp */,
				8488CF1E1F9AC93E004C4836 /* TagNode.h */,
				8488CF1F1F9AC93E004C4836 /* TextNode.cpp */,
				8488CF201F9AC93E004C4836 /* TextNode.h */,
			);
			path = markup;
			sourceTree = "<group>";
		};
		8488CF151F9AC93E004C4836 /* html */ = {
			isa = PBXGroup;
			children = (
				8488CF161F9AC93E004C4836 /* HTMLParser.cpp */,
				8488CF171F9AC93E004C4836 /* HTMLParser.h */,
			);
			path = html;
			sourceTree = "<group>";
		};
		8488CF1A1F9AC93E004C4836 /* ntrml */ = {
			isa = PBXGroup;
			children = (
				8488CF1B1F9AC93E004C4836 /* NTRMLParser.cpp */,
				8488CF1C1F9AC93E004C4836 /* NTRMLParser.h */,
			);
			path = ntrml;
			sourceTree = "<group>";
		};
		8488CF211F9AC93E004C4836 /* scripting */ = {
			isa = PBXGroup;
			children = (
				8488CF221F9AC93E004C4836 /* javascript */,
			);
			path = scripting;
			sourceTree = "<group>";
		};
		8488CF221F9AC93E004C4836 /* javascript */ = {
			isa = PBXGroup;
			children = (
				8488CF231F9AC93E004C4836 /* JSParser.cpp */,
				8488CF241F9AC93E004C4836 /* JSParser.h */,
			);
			path = javascript;
			sourceTree = "<group>";
		};
		8488CF251F9AC93F004C4836 /* interfaces */ = {
			isa = PBXGroup;
			children = (
				8488CF261F9AC93F004C4836 /* components */,
				8488CF3B1F9AC93F004C4836 /* elements */,
				8488CF581F9AC93F004C4836 /* graphical */,
			);
			path = interfaces;
			sourceTree = "<group>";
		};
		8488CF261F9AC93F004C4836 /* components */ = {
			isa = PBXGroup;
			children = (
				8488CF271F9AC93F004C4836 /* BoxComponent.cpp */,
				8488CF281F9AC93F004C4836 /* BoxComponent.h */,
				8488CF291F9AC93F004C4836 /* ButtonComponent.cpp */,
				8488CF2A1F9AC93F004C4836 /* ButtonComponent.h */,
				8488CF2B1F9AC93F004C4836 /* Component.cpp */,
				8488CF2C1F9AC93F004C4836 /* Component.h */,
				8488CF2D1F9AC93F004C4836 /* ComponentBuilder.cpp */,
				8488CF2E1F9AC93F004C4836 /* ComponentBuilder.h */,
				8488CF2F1F9AC93F004C4836 /* DocumentComponent.cpp */,
				8488CF301F9AC93F004C4836 /* DocumentComponent.h */,
				8488CF311F9AC93F004C4836 /* ImageComponent.cpp */,
				8488CF321F9AC93F004C4836 /* ImageComponent.h */,
				8488CF331F9AC93F004C4836 /* InputComponent.cpp */,
				8488CF341F9AC93F004C4836 /* InputComponent.h */,
				8488CF351F9AC93F004C4836 /* MultiComponent.cpp */,
				8488CF361F9AC93F004C4836 /* MultiComponent.h */,
				8488CF371F9AC93F004C4836 /* TabbedComponent.cpp */,
				8488CF381F9AC93F004C4836 /* TabbedComponent.h */,
				8488CF391F9AC93F004C4836 /* TextComponent.cpp */,
				8488CF3A1F9AC93F004C4836 /* TextComponent.h */,
			);
			path = components;
			sourceTree = "<group>";
		};
		8488CF3B1F9AC93F004C4836 /* elements */ = {
			isa = PBXGroup;
			children = (
				8488CF3C1F9AC93F004C4836 /* AElement.cpp */,
				8488CF3D1F9AC93F004C4836 /* AElement.h */,
				8488CF3E1F9AC93F004C4836 /* BUTTONElement.cpp */,
				8488CF3F1F9AC93F004C4836 /* BUTTONElement.h */,
				8488CF401F9AC93F004C4836 /* DIVElement.cpp */,
				8488CF411F9AC93F004C4836 /* DIVElement.h */,
				8488CF421F9AC93F004C4836 /* Element.cpp */,
				8488CF431F9AC93F004C4836 /* Element.h */,
				8488CF441F9AC93F004C4836 /* H1Element.cpp */,
				8488CF451F9AC93F004C4836 /* H1Element.h */,
				8488CF461F9AC93F004C4836 /* H2Element.cpp */,
				8488CF471F9AC93F004C4836 /* H2Element.h */,
				8488CF481F9AC93F004C4836 /* H3Element.cpp */,
				8488CF491F9AC93F004C4836 /* H3Element.h */,
				8488CF4A1F9AC93F004C4836 /* INPUTElement.cpp */,
				8488CF4B1F9AC93F004C4836 /* INPUTElement.h */,
				8488CF4C1F9AC93F004C4836 /* LIElement.cpp */,
				8488CF4D1F9AC93F004C4836 /* LIElement.h */,
				8488CF4E1F9AC93F004C4836 /* LINKElement.cpp */,
				8488CF4F1F9AC93F004C4836 /* LINKElement.h */,
				8488CF501F9AC93F004C4836 /* SCRIPTElement.cpp */,
				8488CF511F9AC93F004C4836 /* SCRIPTElement.h */,
				8488CF521F9AC93F004C4836 /* SPANElement.cpp */,
				8488CF531F9AC93F004C4836 /* SPANElement.h */,
				8488CF541F9AC93F004C4836 /* STRONGElement.cpp */,
				8488CF551F9AC93F004C4836 /* STRONGElement.h */,
				8488CF561F9AC93F004C4836 /* TEXTAREAElement.cpp */,
				8488CF571F9AC93F004C4836 /* TEXTAREAElement.h */,
			);
			path = elements;
			sourceTree = "<group>";
		};
		8488CF581F9AC93F004C4836 /* graphical */ = {
			isa = PBXGroup;
			children = (
				8488CF591F9AC93F004C4836 /* font */,
				8488CF5E1F9AC93F004C4836 /* renderers */,
			);
			path = graphical;
			sourceTree = "<group>";
		};
		8488CF591F9AC93F004C4836 /* font */ = {
			isa = PBXGroup;
			children = (
				8488CF5A1F9AC93F004C4836 /* TextRasterizer.cpp */,
				8488CF5B1F9AC93F004C4836 /* TextRasterizer.h */,
				8488CF5C1F9AC93F004C4836 /* TextRasterizerCache.cpp */,
				8488CF5D1F9AC93F004C4836 /* TextRasterizerCache.h */,
			);
			path = font;
			sourceTree = "<group>";
		};
		8488CF5E1F9AC93F004C4836 /* renderers */ = {
			isa = PBXGroup;
			children = (
				8488CF5F1F9AC93F004C4836 /* glfw */,
				8488CF681F9AC93F004C4836 /* renderer.cpp */,
				8488CF691F9AC93F004C4836 /* renderer.h */,
			);
			path = renderers;
			sourceTree = "<group>";
		};
		8488CF5F1F9AC93F004C4836 /* glfw */ = {
			isa = PBXGroup;
			children = (
				8488CF601F9AC93F004C4836 /* opengl.cpp */,
				8488CF611F9AC93F004C4836 /* opengl.h */,
				8488CF621F9AC93F004C4836 /* Shader.cpp */,
				8488CF631F9AC93F004C4836 /* Shader.h */,
				8488CF641F9AC93F004C4836 /* ShaderLoader.cpp */,
				8488CF651F9AC93F004C4836 /* ShaderLoader.h */,
				8488CF661F9AC93F004C4836 /* Window.cpp */,
				8488CF671F9AC93F004C4836 /* Window.h */,
			);
			path = glfw;
			sourceTree = "<group>";
		};
		84AD5E6F1F9ACC32004216B5 /* shaders */ = {
			isa = PBXGroup;
			children = (
				84AD5E701F9ACC32004216B5 /* FontShader.frag */,
				84AD5E711F9ACC32004216B5 /* FontShader.vert */,
				84AD5E721F9ACC32004216B5 /* TextureShader.frag */,
				84AD5E731F9ACC32004216B5 /* TextureShader.vert */,
			);
			path = shaders;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		843369071F1D881B00840DA9 /* Saltasaurus */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 8433690F1F1D881B00840DA9 /* Build configuration list for PBXNativeTarget "Saltasaurus" */;
			buildPhases = (
				843369041F1D881B00840DA9 /* Sources */,
				843369051F1D881B00840DA9 /* Frameworks */,
				843369061F1D881B00840DA9 /* CopyFiles */,
				84AD5E7A1F9ACC66004216B5 /* CopyFiles */,
				84AD5E7F1F9ACC87004216B5 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Saltasaurus;
			productName = Saltasaurus;
			productReference = 843369081F1D881B00840DA9 /* Saltasaurus */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		843369001F1D881B00840DA9 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0830;
				ORGANIZATIONNAME = RetroTech;
				TargetAttributes = {
					843369071F1D881B00840DA9 = {
						CreatedOnToolsVersion = 8.3.3;
						ProvisioningStyle = Automatic;
					};
				};
			};
			buildConfigurationList = 843369031F1D881B00840DA9 /* Build configuration list for PBXProject "Saltasaurus" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 843368FF1F1D881B00840DA9;
			productRefGroup = 843369091F1D881B00840DA9 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				843369071F1D881B00840DA9 /* Saltasaurus */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		843369041F1D881B00840DA9 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8488CF841F9AC93F004C4836 /* LIElement.cpp in Sources */,
				8488CEF11F9AC81E004C4836 /* tlsf.c in Sources */,
				8488CEF01F9AC81E004C4836 /* slre.c in Sources */,
				8488CF7B1F9AC93F004C4836 /* TextComponent.cpp in Sources */,
				8488CF8B1F9AC93F004C4836 /* TextRasterizerCache.cpp in Sources */,
				8488CF6E1F9AC93F004C4836 /* NTRMLParser.cpp in Sources */,
				846965411F32A9EF00980986 /* CommandLineParams.cpp in Sources */,
				8488CF721F9AC93F004C4836 /* BoxComponent.cpp in Sources */,
				846965431F32A9EF00980986 /* URL.cpp in Sources */,
				8488CEF51F9AC81E004C4836 /* scheduler.cpp in Sources */,
				8488CF811F9AC93F004C4836 /* H2Element.cpp in Sources */,
				8488CEDD1F9AC7FC004C4836 /* app.cpp in Sources */,
				8488CF061F9AC8F8004C4836 /* Environment.cpp in Sources */,
				8488CF751F9AC93F004C4836 /* ComponentBuilder.cpp in Sources */,
				8488CF801F9AC93F004C4836 /* H1Element.cpp in Sources */,
				8488CF8C1F9AC93F004C4836 /* opengl.cpp in Sources */,
				8488CF851F9AC93F004C4836 /* LINKElement.cpp in Sources */,
				8488CF8E1F9AC93F004C4836 /* ShaderLoader.cpp in Sources */,
				8488CED21F9AC7EF004C4836 /* HTTPSRequest.cpp in Sources */,
				8488CEDC1F9AC7FC004C4836 /* browser.cpp in Sources */,
				8488CF6D1F9AC93F004C4836 /* Node.cpp in Sources */,
				8488CF8A1F9AC93F004C4836 /* TextRasterizer.cpp in Sources */,
				8488CF701F9AC93F004C4836 /* TextNode.cpp in Sources */,
				8488CF741F9AC93F004C4836 /* Component.cpp in Sources */,
				8488CF791F9AC93F004C4836 /* MultiComponent.cpp in Sources */,
				846965421F32A9EF00980986 /* Log.cpp in Sources */,
				8488CF7A1F9AC93F004C4836 /* TabbedComponent.cpp in Sources */,
				8437F8981F2F540300E89305 /* main.cpp in Sources */,
				8488CEDB1F9AC7FC004C4836 /* CFGFileParser.cpp in Sources */,
				8488CF6B1F9AC93F004C4836 /* tga.cpp in Sources */,
				8488CF7F1F9AC93F004C4836 /* Element.cpp in Sources */,
				8488CF8F1F9AC93F004C4836 /* Window.cpp in Sources */,
				8488CF0B1F9AC92E004C4836 /* TextWindow.cpp in Sources */,
				8488CEF41F9AC81E004C4836 /* WebResource.cpp in Sources */,
				8488CF761F9AC93F004C4836 /* DocumentComponent.cpp in Sources */,
				8488CF781F9AC93F004C4836 /* InputComponent.cpp in Sources */,
				8488CF731F9AC93F004C4836 /* ButtonComponent.cpp in Sources */,
				8437F89D1F2F54B900E89305 /* HTTPResponse.cpp in Sources */,
				8488CF6A1F9AC93F004C4836 /* pnm.cpp in Sources */,
				8488CEF61F9AC81E004C4836 /* TextBlock.cpp in Sources */,
				8488CF051F9AC8F8004C4836 /* Path.cpp in Sources */,
				8488CEF31F9AC81E004C4836 /* StringUtils.cpp in Sources */,
				8488CF7C1F9AC93F004C4836 /* AElement.cpp in Sources */,
				8437F89C1F2F54B600E89305 /* HTTPRequest.cpp in Sources */,
				8488CF771F9AC93F004C4836 /* ImageComponent.cpp in Sources */,
				8488CF881F9AC93F004C4836 /* STRONGElement.cpp in Sources */,
				8488CF8D1F9AC93F004C4836 /* Shader.cpp in Sources */,
				8488CF871F9AC93F004C4836 /* SPANElement.cpp in Sources */,
				8488CF861F9AC93F004C4836 /* SCRIPTElement.cpp in Sources */,
				8488CF6C1F9AC93F004C4836 /* HTMLParser.cpp in Sources */,
				8488CF891F9AC93F004C4836 /* TEXTAREAElement.cpp in Sources */,
				8488CF711F9AC93F004C4836 /* JSParser.cpp in Sources */,
				8488CEF21F9AC81E004C4836 /* Murmur3.cpp in Sources */,
				8488CF7E1F9AC93F004C4836 /* DIVElement.cpp in Sources */,
				8488CF7D1F9AC93F004C4836 /* BUTTONElement.cpp in Sources */,
				8488CF831F9AC93F004C4836 /* INPUTElement.cpp in Sources */,
				8488CF901F9AC93F004C4836 /* renderer.cpp in Sources */,
				846965401F32A9EF00980986 /* BrowsingHistory.cpp in Sources */,
				8488CF821F9AC93F004C4836 /* H3Element.cpp in Sources */,
				8488CF6F1F9AC93F004C4836 /* TagNode.cpp in Sources */,
				8488CEEF1F9AC81E004C4836 /* FormData.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		8433690D1F1D881B00840DA9 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "-";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		8433690E1F1D881B00840DA9 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "-";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = macosx;
			};
			name = Release;
		};
		843369101F1D881B00840DA9 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++14";
				GCC_C_LANGUAGE_STANDARD = "compiler-default";
				HEADER_SEARCH_PATHS = (
					/usr/local/include/freetype2,
					/usr/local/include/harfbuzz,
					/usr/local/include/,
				);
				INFOPLIST_FILE = "$(SRCROOT)/info.plist";
				LIBRARY_SEARCH_PATHS = /usr/local/lib;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				OTHER_CFLAGS = (
					"-DTLSF_USE_LOCKS=0",
					"-DUSE_MMAP=1",
					"-DUSE_SBRK=1",
				);
				OTHER_LDFLAGS = (
					"-lglfw3",
					"-lharfbuzz",
					"-lfreetype",
					"-lGLEW",
					"-lmbedtls",
					"-lmbedcrypto",
					"-lmbedx509",
				);
				PRELINK_LIBS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		843369111F1D881B00840DA9 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++14";
				GCC_C_LANGUAGE_STANDARD = "compiler-default";
				HEADER_SEARCH_PATHS = (
					/usr/local/include/freetype2,
					/usr/local/include/harfbuzz,
					/usr/local/include/,
				);
				INFOPLIST_FILE = "$(SRCROOT)/info.plist";
				LIBRARY_SEARCH_PATHS = /usr/local/lib;
				MACOSX_DEPLOYMENT_TARGET = 10.12;
				OTHER_CFLAGS = (
					"-DTLSF_USE_LOCKS=0",
					"-DUSE_MMAP=1",
					"-DUSE_SBRK=1",
				);
				OTHER_LDFLAGS = (
					"-lglfw3",
					"-lharfbuzz",
					"-lfreetype",
					"-lGLEW",
					"-lmbedtls",
					"-lmbedcrypto",
					"-lmbedx509",
				);
				PRELINK_LIBS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		843369031F1D881B00840DA9 /* Build configuration list for PBXProject "Saltasaurus" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8433690D1F1D881B00840DA9 /* Debug */,
				8433690E1F1D881B00840DA9 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8433690F1F1D881B00840DA9 /* Build configuration list for PBXNativeTarget "Saltasaurus" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				843369101F1D881B00840DA9 /* Debug */,
				843369111F1D881B00840DA9 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 843369001F1D881B00840DA9 /* Project object */;
}


code:
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Saltasaurus.xcodeproj">
   </FileRef>
</Workspace>

repo_name: despair/netrunner

license: mit


code:
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0830"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "843369071F1D881B00840DA9"
               BuildableName = "Saltasaurus"
               BlueprintName = "Saltasaurus"
               ReferencedContainer = "container:Saltasaurus.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "843369071F1D881B00840DA9"
            BuildableName = "Saltasaurus"
            BlueprintName = "Saltasaurus"
            ReferencedContainer = "container:Saltasaurus.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      enableAddressSanitizer = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "843369071F1D881B00840DA9"
            BuildableName = "Saltasaurus"
            BlueprintName = "Saltasaurus"
            ReferencedContainer = "container:Saltasaurus.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <CommandLineArguments>
         <CommandLineArgument
            argument = "http://endchan.xyz/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://www.browserscope.org/"
            isEnabled = "YES">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://Anhai.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://A\han.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "ittp://4chon.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "motherfuckingpebsitehttp://4chon.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://Drhan.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://FchIp.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://ccfaa.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://motherfuckingwebsite.com/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://4chan.org/"
            isEnabled = "NO">
         </CommandLineArgument>
         <CommandLineArgument
            argument = "http://boards.4chan.org/g/"
            isEnabled = "NO">
         </CommandLineArgument>
      </CommandLineArguments>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "843369071F1D881B00840DA9"
            BuildableName = "Saltasaurus"
            BlueprintName = "Saltasaurus"
            ReferencedContainer = "container:Saltasaurus.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Saltasaurus.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>843369071F1D881B00840DA9</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSSupportsAutomaticGraphicsSwitching</key>
	<true/>
</dict>
</plist>


code:
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject

repo_name: pregspammer/fc

path: .gitignore


code:
PYTHON?= python
ifeq (${MAKE_HOST}, x86_64-unknown-cygwin)
	TWEEGOBIN?= tweego.exe
else
	TWEEGOBIN?= tweego
endif

SRCDIR?= src
STARTFILE?= $(SRCDIR)/config/start.tw
FCTARG?= bin/FC.html
GENINCLUDES?=  ./devTools/scripts/includes.py
all: $(FCTARG)

$(STARTFILE):	$(SRCDIR)/config/start.tw.proto $(GENINCLUDES) \
		$(shell find ${SRCDIR} -type d -print)
	$(PYTHON) $(GENINCLUDES) $< $@ $(SRCDIR)

$(FCTARG): $(STARTFILE) $(shell find ${SRCDIR} -type f -name \*.tw -print)
	./devTools/tweeGo/$(TWEEGOBIN) -o $(FCTARG) $(STARTFILE)

clean:
	-$(RM) $(STARTFILE) $(FCTARG)

path: Makefile


code:
# Ignore everything in this directory
*
# Except this file
!.gitignore


code:
@echo off
:: Free Cities Basic Compiler - Windows x86_64

:: Uses embedded Python 3.5.3 x86_64
:: Will add all *.tw files to StoryIncludes.
"%~dp0devTools\python-3.5.3\python.exe" "%~dp0devTools\scripts\includes.py" "src\config\start.tw.proto" "src\config\start.tw" "src" "%*"

CALL "%~dp0devTools\tweeGo\tweego.exe" -o "%~dp0bin/FC.html" "%~dp0src\config\start.tw"
ECHO Done


code:
@echo off
:: Free Cities Basic Compiler - Windows x86_64
:: Will wait for keypress before terminating.

:: Uses embedded Python 3.5.3 x86_64
:: Will add all *.tw files to StoryIncludes.
"%~dp0devTools\python-3.5.3\python.exe" "%~dp0devTools\scripts\includes.py" "src\config\start.tw.proto" "src\config\start.tw" "src" "%*"

CALL "%~dp0devTools\tweeGo\tweego.exe" -o "%~dp0bin/FC.html" "%~dp0src\config\start.tw"
ECHO Done
PAUSE


code:
#!python

import sys
import os.path

FN = sys.argv[1]
OUT = sys.argv[2]
DIR = sys.argv[3]

def main():
    if not os.path.exists(FN):
        print >>sys.stderr, FN, 'not found'
        sys.exit(1)

    with open(FN, 'r') as fin:
        lines = fin.readlines()
        fin.close()
    fout = open(OUT, 'w')
    fout.write("".join(lines))

    # os.sep can be changed to \\ or / as appropriate
    # can also os.path.abspath() which will canonicalize

    pnames = []
    for path, subdirs, files in os.walk(DIR):
        for filename in files:
            if filename.endswith('.tw'):
                pathname = os.path.join(path, filename)
                if pathname != OUT:
                    pnames.append(pathname + '\n')

    fout.write("".join(sorted(pnames)))
    fout.close()

    return 0

if __name__ == '__main__':
    sys.exit(main())


code:
########################################################################################################################
#
# sugarcube-2.py
#
# Copyright (c) 2013-2016 Thomas Michael Edwards <tmedwards@motoslave.net>. All rights reserved.
# Use of this source code is governed by a Simplified BSD License which can be found in the LICENSE file.
#
########################################################################################################################

import os, os.path, header
from collections import OrderedDict

class Header (header.Header):

	def filesToEmbed(self):
		userLibPath = self.path + os.sep + 'userlib.js'
		if os.path.isfile(userLibPath):
			return OrderedDict([
				('"USER_LIB"', userLibPath)
			])
		else:
			return OrderedDict()

	def storySettings(self):
		return "SugarCube 2.x does not support the StorySettings special passage.\n\nInstead, you should use its configuration object, config.\n    See: http://www.motoslave.net/sugarcube/2/docs/config-object.html"

	def isEndTag(self, name, tag):
		return (name == ('/' + tag) or name == ('end' + tag))

	def nestedMacros(self):
		return [
				# standard macros
				'append',
				'button',
				'createplaylist',
				'for',
				'if',
				'link',
				'linkappend',
				'linkprepend',
				'linkreplace',
				'nobr',
				'prepend',
				'repeat',
				'replace',
				'script',
				'switch',
				'silently',
				'timed',
				'widget',
				# deprecated macros
				'click'
			]

	def passageTitleColor(self, passage):
		additionalSpecialPassages = [
				'PassageDone',
				'PassageFooter',
				'PassageHeader',
				'PassageReady',
				'StoryBanner',
				'StoryCaption',
				'StoryShare'
			]
		if passage.isStylesheet():
			return ((111, 49, 83), (234, 123, 184))
		elif passage.isScript():
			return ((89, 66, 28), (226, 170, 80))
		elif ('widget' in passage.tags):
			return ((80, 106, 26), (134, 178, 44))
		elif passage.isInfoPassage() or (passage.title in additionalSpecialPassages):
			return ((28, 89, 74), (41, 214, 113))
		elif passage.title == 'Start':
			return ('#4ca333', '#4bdb24')

	def passageChecks(self):
		return super(Header, self).passageChecks()


code:
How to mod (basic doc):

1. All sources now in the src subdir, in separate files. 1 passage = 1 file.

2. Special files and dir's:
    - src/config 		- configuration of the story is here.
    - src/config/start.tw 	- contains list of .tw passage files, regenerated automatic, by building scripts. Do not change by hands. (origial passage Start from pregmod renamed and moved to src/events/intro/introSummary.tw)
    - src/js/storyJS.tw		- special passage with [script] tag - contain all native JavaScript from pregmod.
    - devTools/tweeGo/targets/sugarcube-2/userlib.js - on original FC JS moved here (I deleted it after moving JS to storyJS.tw). Compare to storyJS.tw but do not copy file here. May conflict with src/js/storyJS.tw if copied.
    - src/pregmod 		- I put all pregmod-only passages here.
    - .gitignore 		- special file for git - to ignore some files. For example - compilation results or this file.

3. Compilation:

    Windows:
    Run compile.bat - result will be file bin/FC.html
    Second run of compile.but will overwrite bin/FC.html without prompt.

    Linux:
    Ensure executable permission on file devTools/tweeGo/tweego (not tweego.exe!)
    in the root dir of sources (where you see src, devTools, bin...) run command "make" from console. Should be installed "build-essential" or at least "make" package.

4. Simple comparing and merging with original FC:

    Use meld tool. Place folder FreeCities (original FC sources tree) near FreeCitiesPregmod (this sources tree) and use command:
    meld FreeCities FreeCitiesPregmod
    or just select these folders in meld's GUI.

5. All modders will be wery grateful if any, who make some changes to game, with .html file also post his/her resulting src folder tree.

6. For contributors to pregmod: you need to post yours version of src folder tree, not just produced FC.html !!! This html file can't be reverted to proper sources, and useless as contribution!


code:
:: MOD_Edit Arcology Cheat [nobr]

	<<set $nextButton to "Continue">>
	<<set $nextLink to "MOD_Edit Arcology Cheat Datatype Cleanup">>

''Cheating Edit Arcology''

<<if ($economy != 1) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($plot != 1)>>
	//[[restore defaults|MOD_Edit Arcology Cheat][$seeDicks to 25,$economy to 1,$continent to "North America",$internationalTrade to 1,$internationalVariety to 1,$seeRace to 1,$seeNationality to 1,$seeExtreme to 0,$plot to 1]]//
<</if>>

<<if $economy == 1>>
	The world economy is in ''doubtful'' shape.
	[[Easier|MOD_Edit Arcology Cheat][$economy to 0.5]] | [[Harder|MOD_Edit Arcology Cheat][$economy to 1.5]]
<<elseif $economy < 1>>
	The world economy is still in ''good'' shape.
	[[Harder|MOD_Edit Arcology Cheat][$economy to 1]]
<<else>>
	The world economy is in ''terrible'' shape.
	[[Easier|MOD_Edit Arcology Cheat][$economy to 1]]
<</if>>

<<set $drugsCost = Math.trunc(100*$economy)>>
<<set $rulesCost = Math.trunc(100*$economy)>>
<<set $modCost = Math.trunc(50*$economy)>>
<<set $surgeryCost = Math.trunc(300*$economy)>>

The arcology is located in ''$continent''.

[[North America|MOD_Edit Arcology Cheat][$continent to "North America", $language to "English"]] | [[South America|MOD_Edit Arcology Cheat][$continent to "South America", $language to "Spanish"]] | [[Europe|MOD_Edit Arcology Cheat][$continent to "Europe", $language to "English"]] | [[the Middle East|MOD_Edit Arcology Cheat][$continent to "the Middle East", $language to "Arabic"]] | [[Africa|MOD_Edit Arcology Cheat][$continent to "Africa", $language to "Arabic"]] | [[Asia|MOD_Edit Arcology Cheat][$continent to "Asia", $language to "Chinese"]] | [[Australia|MOD_Edit Arcology Cheat][$continent to "Australia", $language to "English"]] | [[Japan|MOD_Edit Arcology Cheat][$continent to "Japan", $language to "Japanese"]]

The lingua franca of the arcology is ''$language''.

<<if $language != "English">>
	[[English|MOD_Edit Arcology Cheat][$language to "English"]] |
<<else>>
	English |
<</if>>
<<if $language != "Spanish">>
	[[Spanish|MOD_Edit Arcology Cheat][$language to "Spanish"]] |
<<else>>
	Spanish |
<</if>>
<<if $language != "Arabic">>
	[[Arabic|MOD_Edit Arcology Cheat][$language to "Arabic"]] |
<<else>>
	Arabic |
<</if>>
<<if $language != "Chinese">>
	[[Chinese|MOD_Edit Arcology Cheat][$language to "Chinese"]] |
<<else>>
	Chinese |
<</if>>
Custom: <<textbox "$language" $language "MOD_Edit Arcology Cheat">>

<<if $internationalTrade == 0>>
	The slave trade is ''continental,'' so a narrower variety of slaves will be available.
	[[Allow intercontinental trade|MOD_Edit Arcology Cheat][$internationalTrade to 1]]
<<else>>
	The slave trade is ''international,'' so a wider variety of slaves will be available.
	[[Restrict the trade to continental|MOD_Edit Arcology Cheat][$internationalTrade to 0]]
<</if>>

<<if $internationalTrade == 1>>
<<if $internationalVariety == 0>>
	International slave variety is ''semi-realistic,'' so more populous nations will be more common.
	[[Normalized national variety|MOD_Edit Arcology Cheat][$internationalVariety to 1]]
<<else>>
	International slave variety is ''normalized,'' so small nations will appear nearly as much as large ones.
	[[Semi-realistic national variety|MOD_Edit Arcology Cheat][$internationalVariety to 0]]
<</if>>
<</if>>

<<if $seeRace == 1>>
	Ethnicity will ''occasionally'' be mentioned.
	[[Disable most mentions of race|MOD_Edit Arcology Cheat][$seeRace to 0]]
<<else>>
	Ethnicity will ''almost never'' be mentioned.
	[[Enable mentions of race|MOD_Edit Arcology Cheat][$seeRace to 1]]
<</if>>

<<if $seeNationality == 1>>
	Nationality will ''occasionally'' be mentioned.
	[[Disable most mentions of nationality|MOD_Edit Arcology Cheat][$seeNationality to 0]]
<<else>>
	Nationality will ''almost never'' be mentioned.
	[[Enable mentions of nationality|MOD_Edit Arcology Cheat][$seeNationality to 1]]
<</if>>

<<if $seeExtreme == 1>>
	Extreme content like amputation is ''enabled''.
	[[Disable|MOD_Edit Arcology Cheat][$seeExtreme to 0]]
<<else>>
	Extreme content like amputation is ''disabled''.
	[[Enable|MOD_Edit Arcology Cheat][$seeExtreme to 1]]
<</if>>

<<if ($weightAffectsAssets != 0)>>
Slave assets affected by weight is ''enabled''. [[Disable|MOD_Edit Arcology Cheat][$weightAffectsAssets to 0]]
<<else>>
Slave assets affected by weight is ''disabled''. [[Enable|MOD_Edit Arcology Cheat][$weightAffectsAssets to 1]]
<</if>> //If enabled, thin slaves will have large assets drop in size and vice versa at week end. (Diet still affects asset sizes).//

<<if ($curativeSideEffects != 0)>>
Curative side effects are ''enabled''. [[Disable|MOD_Edit Arcology Cheat][$curativeSideEffects to 0]]
<<else>>
Curative side effects are ''disabled''. [[Enable|MOD_Edit Arcology Cheat][$curativeSideEffects to 1]]
<</if>> //If enabled, curatives have a chance to give slaves harmful side effects.//

Slave girls will
<<if $seeDicks >= 90>>
	''almost always'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks to 0]]
	 | [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks to 25]]
	 | [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks to 50]]
	 | [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks to 75]]
<<elseif $seeDicks > 50>>
	''more likely than not'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks to 0]]
	 | [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks to 25]]
	 | [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks to 50]]
	 | [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks to 100]]
<<elseif $seeDicks > 25>>
	''occasionally'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks to 0]]
	 | [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks to 25]]
	 | [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks to 75]]
	 | [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks to 100]]
<<elseif $seeDicks > 0>>
	''rarely'' have dicks.
	[[No chicks with dicks pls (0%)|MOD_Edit Arcology Cheat][$seeDicks to 0]]
	 | [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks to 50]]
	 | [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks to 75]]
	 | [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks to 100]]
<<else>>
	''almost never'' have dicks.
	 [[Side order of girl dick (25%)|MOD_Edit Arcology Cheat][$seeDicks to 25]]
	 | [[Balanced dick chick diet (50%)|MOD_Edit Arcology Cheat][$seeDicks to 50]]
	 | [[Dickgirl main course (75%)|MOD_Edit Arcology Cheat][$seeDicks to 75]]
	 | [[All of the dicks (100%)|MOD_Edit Arcology Cheat][$seeDicks to 100]]
<</if>>
<<click "Go your own dick way">>
	<<textbox "$seeDicks" $seeDicks>>
	[[Apply|MOD_Edit Arcology Cheat][$seeDicks to Number($seeDicks)]]
<</click>>

<<if $plot == 1>>
	Game mode: ''two-handed''. Includes non-erotic events concerning the changing world.
	[[Disable non-erotic events|MOD_Edit Arcology Cheat][$plot to 0]]
<<else>>
	Game mode: ''one-handed''. No non-erotic events concerning the changing world.
	[[Enable non-erotic events|MOD_Edit Arcology Cheat][$plot to 1]]
<</if>>

/*<<nobr>>
<<if $normalizedEvents == 1>>
	Random events distribution: ''normalized''. Random events will happen with equal frequency.
	[[Realistic|MOD_Edit Arcology Cheat][$normalizedEvents to 0]]
<<else>>
	Random events distribution: ''realistic''. Events will happen more frequently if more slaves qualify for them.
	[[Normalize|MOD_Edit Arcology Cheat][$normalizedEvents to 1]]
<</if>>
<</nobr>>*/

__Player Character__

<<if $PC.title gt 0>>
	Conversational title: ''Master''.
	[[Switch to Mistress|MOD_Edit Arcology Cheat][$PC.title to 0]]
<<else>>
	Conversational title: ''Mistress''.
	[[Switch to Master|MOD_Edit Arcology Cheat][$PC.title to 1]]
<</if>>

	Career: ''$PC.career''.
	[[Wealth|MOD_Edit Arcology Cheat][$PC.career to "wealth"]] |
	[[Business|MOD_Edit Arcology Cheat][$PC.career to "capitalist"]] |
	[[PMC work|MOD_Edit Arcology Cheat][$PC.career to "mercenary"]] |
	[[Slaving|MOD_Edit Arcology Cheat][$PC.career to "slaver"]] |
	[[Engineering|MOD_Edit Arcology Cheat][$PC.career to "engineer"]] |
	[[Medicine|MOD_Edit Arcology Cheat][$PC.career to "medicine"]] |
	[[Celebrity|MOD_Edit Arcology Cheat][$PC.career to "celebrity"]]

	Method of acquiring the arcology: ''$PC.rumor''.
	[[Wealth|MOD_Edit Arcology Cheat][$PC.rumor to "wealth"]] |
	[[Hard work|MOD_Edit Arcology Cheat][$PC.rumor to "diligence"]] |
	[[Force|MOD_Edit Arcology Cheat][$PC.rumor to "force"]] |
	[[Social engineering|MOD_Edit Arcology Cheat][$PC.rumor to "social engineering"]] |
	[[Luck|MOD_Edit Arcology Cheat][$PC.rumor to "luck"]]

<<if $PC.dick gt 0>>
	Genitalia: ''penis''. Standard sex scenes; easier reputation maintenance.
	[[Switch to vagina|MOD_Edit Arcology Cheat][$PC.dick to 0]]
<<else>>
	Genitalia: ''vagina''. Sex scene variations; more difficult reputation maintenance.
	[[Switch to penis|MOD_Edit Arcology Cheat][$PC.dick to 1]]
<</if>>

<<if $PC.boobs gt 0>>
	Chest: ''breasts''. Sex scene variations; more difficult reputation maintenance.
	[[Remove breasts|MOD_Edit Arcology Cheat][$PC.boobs to 0]]
<<else>>
	Chest: ''masculine''. Standard sex scenes; easier reputation maintenance.
	[[Add breasts|MOD_Edit Arcology Cheat][$PC.boobs to 1]]
<</if>>

Age:
<<if $PC.age == 3>>
	''well into middle age''.
	[[Younger|MOD_Edit Arcology Cheat][$PC.age to 2]]
<<elseif $PC.age == 2>>
	''entering middle age''.
	[[Younger|MOD_Edit Arcology Cheat][$PC.age to 1]] | [[Older|MOD_Edit Arcology Cheat][$PC.age to 3]]
<<else>>
	''surprisingly young''.
	[[Older|MOD_Edit Arcology Cheat][$PC.age to 2]]
<</if>>

Rename your character: <<textbox "$PCName" $PCName "MOD_Edit Arcology Cheat">>

Nationality: ''$PC.nationality''.<<textbox "$PC.nationality" $PC.nationality "MOD_Edit Arcology Cheat">>

Race: ''$PC.race''.
	[[White|MOD_Edit Arcology Cheat][$PC.race to "white"]] |
	[[Asian|MOD_Edit Arcology Cheat][$PC.race to "asian"]] |
	[[Latina|MOD_Edit Arcology Cheat][$PC.race to "latina"]] |
	[[Middle Eastern|MOD_Edit Arcology Cheat][$PC.race to "middle eastern"]] |
	[[Black|MOD_Edit Arcology Cheat][$PC.race to "black"]] |
	[[Semitic|MOD_Edit Arcology Cheat][$PC.race to "semitic"]] |
	[[Southern European|MOD_Edit Arcology Cheat][$PC.race to "southern european"]] |
	[[Indo-aryan|MOD_Edit Arcology Cheat][$PC.race to "indo-aryan"]] |
	[[Amerindian|MOD_Edit Arcology Cheat][$PC.race to "amerindien"]] |
	[[Pacific Islander|MOD_Edit Arcology Cheat][$PC.race to "pacific islander"]] |
	[[Malay|MOD_Edit Arcology Cheat][$PC.race to "malay"]] |
	[[Mixed Race|MOD_Edit Arcology Cheat][$PC.race to "mixed race"]]

Skin: ''$PC.skin''.
	[[White|MOD_Edit Arcology Cheat][$PC.skin to "white"]] |
	[[Fair|MOD_Edit Arcology Cheat][$PC.skin to "fair"]] |
	[[Light|MOD_Edit Arcology Cheat][$PC.skin to "light"]] |
	[[Dark|MOD_Edit Arcology Cheat][$PC.skin to "dark"]] |
	[[Olive|MOD_Edit Arcology Cheat][$PC.skin to "olive"]] |
	[[Black|MOD_Edit Arcology Cheat][$PC.skin to "black"]] |
	[[Light Brown|MOD_Edit Arcology Cheat][$PC.skin to "light brown"]] |
	[[Brown|MOD_Edit Arcology Cheat][$PC.skin to "brown"]] |
	[[Pale|MOD_Edit Arcology Cheat][$PC.skin to "pale"]] |
	[[Extremely Pale|MOD_Edit Arcology Cheat][$PC.skin to "extremely pale"]]

Eye color: ''$PC.eyeColor''.
<<textbox "$PC.eyeColor" $PC.eyeColor "MOD_Edit Arcology Cheat">>

Hair color: ''$PC.hColor''.
<<textbox "$PC.hColor" $PC.hColor "MOD_Edit Arcology Cheat">>

Preferred refreshment: <<textbox "$PC.refreshment" $PC.refreshment "MOD_Edit Arcology Cheat">> [[Cigars|MOD_Edit Arcology Cheat][$PC.refreshment to "cigar",$PC.refreshmentType = 0]] | [[Whiskey|MOD_Edit Arcology Cheat][$PC.refreshment to "whiskey",$PC.refreshmentType = 1]]

Preferred method of consumption: <<if $PC.refreshmentType == 0>>Smoked<<elseif $PC.refreshmentType == 1>>Drank<<elseif $PC.refreshmentType == 2>>Eaten<<elseif $PC.refreshmentType == 3>>Snorted<<else>>Injected<</if>>

[[Smoked|MOD_Edit Arcology Cheat][$PC.refreshmentType = 0]] | [[Drank|MOD_Edit Arcology Cheat][$PC.refreshmentType = 1]] | [[Eaten|MOD_Edit Arcology Cheat][$PC.refreshmentType = 2]] | [[Snorted|MOD_Edit Arcology Cheat][$PC.refreshmentType = 3]] | [[Injected|MOD_Edit Arcology Cheat][$PC.refreshmentType = 4]]

Arcology citizens: $ACitizens
<<textbox "$ACitizens" $ACitizens>>

Arcology sex slaves: $ASlaves
<<textbox "$ASlaves" $ASlaves>>

Arcology menial slaves:  $AHelots
<<textbox "$AHelots" $AHelots>>

Arcology prosperity cap: $AProsperityCap
<<textbox "$AProsperityCap" $AProsperityCap>>

Shelter Abuse Counter: $shelterAbuse
<<textbox "$shelterAbuse" $shelterAbuse>>

''The Slavegirl School:''

TSS Students Bought: <<textbox "$TSS.studentsBought" $TSS.studentsBought>>

TSS Upgrades: ''$TSS.schoolUpgrade'' |
<<radiobutton "$TSS.schoolUpgrade" 0>> 0
| <<radiobutton "$TSS.schoolUpgrade" 1>> 1
| <<radiobutton "$TSS.schoolUpgrade" 2>> 2

TSS Moved to Arcology: ''$TSS.schoolPresent'' |
<<radiobutton "$TSS.schoolPresent" 0>> 0
| <<radiobutton "$TSS.schoolPresent" 1>> 1 (Moved)

TSS Prosperity: <<textbox "$TSS.schoolProsperity" $TSS.schoolProsperity>>

TSS Failed: ''$TSS.schoolAnnexed'' |
<<radiobutton "$TSS.schoolAnnexed" 0>> 0
| <<radiobutton "$TSS.schoolAnnexed" 1>> 1 (Failed)

''The Growth Research Institute:''

GRI Students Bought: <<textbox "$GRI.studentsBought" $GRI.studentsBought>>

GRI Upgrades: ''$GRI.schoolUpgrade'' |
<<radiobutton "$GRI.schoolUpgrade" 0>> 0
| <<radiobutton "$GRI.schoolUpgrade" 1>> 1
| <<radiobutton "$GRI.schoolUpgrade" 2>> 2

GRI Moved to Arcology: ''$GRI.schoolPresent'' |
<<radiobutton "$GRI.schoolPresent" 0>> 0
| <<radiobutton "$GRI.schoolPresent" 1>> 1 (Moved)

GRI Prosperity: <<textbox "$GRI.schoolProsperity" $GRI.schoolProsperity>>

GRI Failed: ''$GRI.schoolAnnexed'' |
<<radiobutton "$GRI.schoolAnnexed" 0>> 0
| <<radiobutton "$GRI.schoolAnnexed" 1>> 1 (Failed)

''St. Claver Preparatory:''

SCP Students Bought: <<textbox "$SCP.studentsBought" $SCP.studentsBought>>

SCP Upgrades: ''$SCP.schoolUpgrade'' |
<<radiobutton "$SCP.schoolUpgrade" 0>> 0
| <<radiobutton "$SCP.schoolUpgrade" 1>> 1
| <<radiobutton "$SCP.schoolUpgrade" 2>> 2

SCP Moved to Arcology: ''$SCP.schoolPresent'' |
<<radiobutton "$SCP.schoolPresent" 0>> 0
| <<radiobutton "$SCP.schoolPresent" 1>> 1 (Moved)

SCP Prosperity: <<textbox "$SCP.schoolProsperity" $SCP.schoolProsperity>>

SCP Failed: ''$SCP.schoolAnnexed'' |
<<radiobutton "$SCP.schoolAnnexed" 0>> 0
| <<radiobutton "$SCP.schoolAnnexed" 1>> 1 (Failed)

<<if ($seeDicks != 0)>>

''L'Ecole des Enculees:''

LDE Students Bought: <<textbox "$LDE.studentsBought" $LDE.studentsBought>>

LDE Upgrades: ''$LDE.schoolUpgrade'' |
<<radiobutton "$LDE.schoolUpgrade" 0>> 0
| <<radiobutton "$LDE.schoolUpgrade" 1>> 1
| <<radiobutton "$LDE.schoolUpgrade" 2>> 2

LDE Moved to Arcology: ''$LDE.schoolPresent'' |
<<radiobutton "$LDE.schoolPresent" 0>> 0
| <<radiobutton "$LDE.schoolPresent" 1>> 1 (Moved)

LDE Prosperity: <<textbox "$LDE.schoolProsperity" $LDE.schoolProsperity>>

LDE Failed: ''$LDE.schoolAnnexed'' |
<<radiobutton "$LDE.schoolAnnexed" 0>> 0
| <<radiobutton "$LDE.schoolAnnexed" 1>> 1 (Failed)

	''The Gymnasium-Academy:''

TGA Students Bought: <<textbox "$TGA.studentsBought" $TGA.studentsBought>>

TGA Upgrades: ''$TGA.schoolUpgrade''
<<radiobutton "$TGA.schoolUpgrade" 0>> 0
| <<radiobutton "$TGA.schoolUpgrade" 1>> 1
| <<radiobutton "$TGA.schoolUpgrade" 2>> 2

TGA Moved to Arcology: ''$TGA.schoolPresent'' |
<<radiobutton "$TGA.schoolPresent" 0>> 0
| <<radiobutton "$TGA.schoolPresent" 1>> 1 (Moved)

TGA Prosperity: <<textbox "$TGA.schoolProsperity" $TGA.schoolProsperity>>

TGA Failed: ''$TGA.schoolAnnexed'' |
<<radiobutton "$TGA.schoolAnnexed" 0>> 0
| <<radiobutton "$TGA.schoolAnnexed" 1>> 1 (Failed)

	''The Futanari Sisters:''

TFS Students Bought: <<textbox "$TFS.studentsBought" $TFS.studentsBought>>

TFS Upgrades: ''$TFS.schoolUpgrade'' |
<<radiobutton "$TFS.schoolUpgrade" 0>> 0
| <<radiobutton "$TFS.schoolUpgrade" 1>> 1
| <<radiobutton "$TFS.schoolUpgrade" 2>> 2

TFS Moved to Arcology: ''$TFS.schoolPresent'' |
<<radiobutton "$TFS.schoolPresent" 0>> 0
| <<radiobutton "$TFS.schoolPresent" 1>> 1 (Moved)

TFS Prosperity:<<textbox "$TFS.schoolProsperity" $TFS.schoolProsperity>>

TFS Failed: ''$TFS.schoolAnnexed'' |
<<radiobutton "$TFS.schoolAnnexed" 0>> 0
| <<radiobutton "$TFS.schoolAnnexed" 1>> 1 (Failed)
<</if>>

__Arcologies:__

    __''$arcologies[0].name''__ is your arcology.

You own: ''$arcologies[0].ownership%'' of the arcology <<textbox "$arcologies[0].ownership" $arcologies[0].ownership>>

Other minority ownership: ''$arcologies[0].minority%'' <<textbox "$arcologies[0].minority" $arcologies[0].minority>>

$arcologies[0].name's GSP is
@@color:yellowgreen;¤<<print Math.trunc(0.1*$arcologies[0].prosperity)>>m@@.

<<if $arcologies.length > 1>>
<<set _neighbors to Number($arcologies.length-1)>>

Your arcology has <<print Number($arcologies.length-1)>>
<<if _neighbors == 1>> neighbor<<else>> neighbors<</if>>.
<<else>>
Your arcology has no neighbors.
<</if>>

<<if $arcologies.length < 8>>
<<click "Add neighbor">>
	<<set $seed to ["north", "northeast", "east", "southeast", "south", "southwest", "west", "northwest"]>>

	<<set $activeArcology to {name: "Arcology X-", direction: "north", government: "an individual", honeymoon: 0, prosperity: 50, ownership: 50, minority: 20, PCminority: 0, demandFactor:0, FSSupremacist: "unset", FSSupremacistRace: 0, FSSubjugationist: "unset", FSSubjugationistRace: 0, FSGenderRadicalist: "unset", FSGenderFundamentalist: "unset", FSPaternalist: "unset", FSDegradationist: "unset", FSBodyPurist: "unset", FSTransformationFetishist: "unset", FSYouthPreferentialist: "unset", FSMaturityPreferentialist: "unset", FSSlimnessEnthusiast: "unset", FSAssetExpansionist: "unset", FSPastoralist: "unset", FSPhysicalIdealist: "unset", FSChattelReligionist: "unset", FSRomanRevivalist: "unset", FSEgyptianRevivalist: "unset", FSEdoRevivalist: "unset", FSArabianRevivalist: "unset", FSChineseRevivalist: "unset", FSNull: "unset", embargo: 1, embargoTarget: -1, influenceTarget: -1, influenceBonus: 0, rival: 0}>>

	<<if $arcologies.length < 4>>
		<<set $activeArcology.name to $activeArcology.name+$arcologies.length>>
	<<else>>
		<<set $activeArcology.name to $activeArcology.name+($arcologies.length+1)>>
	<</if>>

	<<set $activeArcology.direction to $seed.pluck()>>
	<<set $activeArcology.government to random(0,5)>>
	<<set $activeArcology.prosperity += random(-20,20)>>
	<<set $activeArcology.ownership += random(-10,0)>>
	<<set $activeArcology.minority += random(-5,5)>>
	<<set $arcologies.push($activeArcology)>>

	<<goto "MOD_Edit Arcology Cheat">>
<</click>>
<</if>>

<<set $averageProsperity to 0>>
<<set $seed to 0>>
<<for $i to 0; $i lt $arcologies.length; $i++>>
	<<set $averageProsperity += $arcologies[$i].prosperity>>
	<<set $seed += 1>>
<</for>>
<<set $averageProsperity to $averageProsperity/$seed>>

<<for $i to 0; $i < $arcologies.length; $i++>>
	<<if $arcologies[$i].direction != 0>>
	<<display "Neighbor Description">>
	<</if>>

	<<if $i != 0>>
	<<print "[[Remove neighbor|MOD_Edit Arcology Cheat][$arcologies.pluck( [" + $i + "], [" + $i + "] )]]">>
	<</if>>
<</for>>


code:
:: MOD_Edit Arcology Cheat Datatype Cleanup

<<nobr>>
	<<set $nextButton to "Continue">>
	<<set $nextLink to "Manage Arcology">>

	<<set $ACitizens to Number($ACitizens)>>
	<<set $ASlaves to Number($ASlaves)>>
	<<set $AHelots to Number($AHelots)>>
	<<set $shelterAbuse to Number($shelterAbuse)>>

	<<set $TSS.studentsBought to Number($TSS.studentsBought)>>
	<<set $TSS.schoolProsperity to Number($TSS.schoolProsperity)>>

	<<set $GRI.studentsBought to Number($GRI.studentsBought)>>
	<<set $GRI.schoolProsperity to Number($GRI.schoolProsperity)>>

	<<set $SCP.studentsBought to Number($SCP.studentsBought)>>
	<<set $SCP.schoolProsperity to Number($SCP.schoolProsperity)>>

	<<set $LDE.studentsBought to Number($LDE.studentsBought)>>
	<<set $LDE.schoolProsperity to Number($LDE.schoolProsperity)>>

	<<set $TGA.studentsBought to Number($TGA.studentsBought)>>
	<<set $TGA.schoolProsperity to Number($TGA.schoolProsperity)>>

	<<set $TFS.studentsBought to Number($TFS.studentsBought)>>
	<<set $TFS.schoolProsperity to Number($TFS.schoolProsperity)>>

	<<set $arcologies[0].ownership to Number($arcologies[0].ownership)>>
	<<set $arcologies[0].minority to Number($arcologies[0].minority)>>

	The chanting grows louder and louder, CHEAT! CHEAT! CHEAT!

	The Arcology morphs and changes shape, CHEAT! CHEAT! CHEAT!

	The Arcology has been changed forever and you forfeit your CHEATING CHEATY SOUL!
<</nobr>>\