{"FileModelVersion":{"Major":1,"Minor":0},"ItemDictionary":{"0":"aea2161d-ff43-4b10-ac0e-933fb5809faa","1":"9d2ff3d6-abc2-4378-b47c-cad42d4af1bc","2":"df687d3b-ad26-49bb-86be-ed694e880252","3":"77642c0c-277f-4a7d-9d08-f3f161d8e69c","4":"6ae7c977-3f62-414e-98aa-5dc0da89b376","5":"87c616fa-b498-4858-8439-68411a0a62e3","6":"6d26fe2d-c9ce-4d86-b26f-78afbd22b5b6","7":"f3a1dc17-764c-4435-a83b-17914d5dac6b","8":"2c557c38-4136-436a-bae2-c5cd1102690c","9":"00d31a4d-d523-43f1-b5c2-f96b33a69a99","10":"cb04f082-b5d9-411c-86da-010123dfb5bf","11":"1aa62ea2-cb83-4778-86f0-4bd96332842c","12":"edd65760-896f-4f6a-ba8c-eb2b072635f4","13":"2b0444a1-9ec4-4c01-804e-a6cf07cb176d","14":"8ccc8d39-5a97-4cb2-b708-d3ffefd5dc19","15":"f29b1372-f4f3-4305-aa85-5fe214361fb7","16":"26a604f0-071c-49ca-8a0e-e1d9c959b1c5","17":"23b1fef3-0556-4a51-88fc-d4a223c3e934","18":"7aacb57c-355d-4345-9d35-b34850058753","19":"c68d0ed7-66d1-42cd-974e-01aa0f36c847","20":"0d1d97b5-3c99-45bf-8a5d-e7a624b3ddb6","21":"62e2b663-c26f-461e-ae26-43068010f993","22":"052432ff-4709-4cfc-b3b6-82a34f6757ca","23":"ddee4f0c-e9de-4a73-b87f-c34d674450cb","24":"fa3b5219-d4bf-401a-a105-c0332d8496d2","25":"930ab796-f1c7-47f0-bf04-0ef6ae44006b","26":"3ed4d2a4-62ce-4807-b516-6da685804e1e","27":"5292dcab-a674-467a-a21a-702d2c2a152b","28":"60c591be-98fa-4844-b55b-6d55bc16493e","29":"f003eae6-6818-4da9-a1d0-6e4f1677d49f","30":"a745d992-b62f-4014-a524-9e5953ccffd3","31":"1bb2d71d-cd5f-4a23-844b-8005dec7bd5c","32":"cdabf95e-e712-4a93-8214-79d2d9a809a6","33":"ef545d00-c22d-4eed-bd76-74d6432e2974","34":"742c7d8c-d03a-49d8-bc71-46f5f828bf72","35":"1725c9ed-29fd-438d-97f6-8f645a1865d4","36":"c2dfcb78-dd5b-4406-8c95-0f884c4d89e1","37":"e00c4398-a6e7-4330-813a-b3c3ac8da3d8","38":"42033da8-485e-43be-99db-ffe2492767b4","39":"10a165d1-1333-4c57-a942-b857542c4b45","40":"ccb4fd67-d791-4b1f-80cb-42346313254e","41":"a6edccd7-3ec8-419c-9405-703e8b4bdc8b","42":"f8594608-c8c2-4544-94cb-8c0c78fbb4b0","43":"16052cd0-6fb9-4c1f-bfcb-2574d21434f0","44":"3e0a0bd7-7805-4e8f-836e-0cbcfee512af","45":"956b9974-b044-494e-b5e4-d1cdbc5d5327","46":"3deb411a-953b-45a7-955a-35a96ef4e86b","47":"f6d7596c-e800-41e3-9076-077fda224aa1","48":"8e9327fb-66d3-45ea-af24-d5f9d60e2cdc","49":"e6bb2b09-daee-432d-9aff-45fc63d24fca","50":"4b334c3f-aafd-440c-9c1f-02a98fd18ab5","51":"a56e0dcf-94e4-48a0-b8b9-5e33e0ab69cf","52":"c4e23d98-fbde-449e-823f-872004cadc7a","53":"862712ab-6534-45e2-ad89-1d8eb0fd26de","54":"6f0efd3e-c241-437c-b25f-92dc1e83332c","55":"564a75cd-8d7c-469b-a4b3-053d772b7d9d","56":"4576e3fe-8eda-4e24-9823-eb68e4a9c953","57":"d15a334b-d951-4991-89f0-cdf2599a9699","58":"7fea28f0-eb30-4700-a592-c3eb1ffc7b0e","59":"2a508eb8-cc74-43bb-9643-afd0c518d09f","60":"0d466e68-7a97-4e27-a73c-6bda4010f7e7","61":"7475c363-fa60-4348-a2e9-f3e2329fc20a","62":"ad965629-9b13-448b-ab7a-7e69afad2fb4","63":"02ea8321-aaff-4d03-8c50-20c241a82632","64":"b74c27c0-081a-45b7-8e81-cdd84ff33490","65":"2718d6ad-07a2-4d98-bd7e-9cdb2b3f70db","66":"fdab4d92-8519-4090-b7e1-b794953b44e4","67":"8e2cb19b-db70-41f4-b398-62c38fd22d2d","68":"b9fabb99-ff73-4018-8521-08441d2f18cf","69":"b50989c9-03d4-4201-a8d4-459dcea86b05","70":"89c3beb4-0fa3-4c3f-a065-7e53497cbe64","71":"59e0ca88-f390-48d0-ade1-0c08f629c4f2","72":"e3d22373-253f-4f48-9638-77d756473c6b","73":"c5bb6398-319b-47c1-a5ef-c6ce9af4e9a6","74":"261a60dd-5a01-4e6f-b7e8-a56bb21e2ad9","75":"12e26b7f-d42f-4af0-b134-129f8aed8a90","76":"ad3867b5-6146-44b8-a539-6ab08311e5fe","77":"03d79bec-7af0-44e7-a012-f2e2dcacff30","78":"4934fff3-aca3-4fb3-b242-60afbe8d4439","79":"f3f7620a-f281-4a3a-a75e-0106ef9c4eb8","80":"4363ead8-3cdd-4d95-b461-193dc928790d","81":"c384fa33-67c3-4915-a878-4245f4cdcecc","82":"a4fdfea1-1254-4f7b-9346-124dddb595bd","83":"478efa9f-5743-4238-ad2e-750770d7da11","84":"d22f3d7d-7507-4d30-b884-9bfdc68d59be","85":"85cd3795-9fb0-43ce-87dc-ff07f2844dd3","86":"2f87caef-8e9d-468f-925e-b0bf98e071f3","87":"c624a6cd-31dc-49d3-a1e9-5482d06acbc6","88":"09d28633-cff1-4cc4-9e11-161f350dbf60","89":"228e59f1-b3de-471a-931f-45735ae6ba7e","90":"dc8f69fe-f97c-404f-996c-1b934afa17b5","91":"b3ea8191-f5c9-42f7-b301-fc3144c8d2a5","92":"7836f02d-9d50-476c-8701-d0e4eda43de3","93":"66e3efae-4d73-4f4e-adbd-85e2573580e4","94":"3b67ec16-9ccd-47de-8753-53617df90c61","95":"c3f26ef6-22f2-4a04-bb49-aa66cc949188","96":"462f80ed-2611-4cf8-a204-c7a66ea241da","97":"2a8501f7-2463-441c-901a-57d1a6573fe6","98":"efb55635-4841-42b3-98f0-9aed90b2e826","99":"649fc6c3-2f0c-4197-8777-e44e86696d60","100":"c107f90f-68bb-4f16-b023-960e72e1fa3a","101":"d13556da-e6dc-4c49-a9ec-b47517709da5","102":"7b672666-b275-454f-968f-506e93987800","103":"0a1aa046-e841-4813-907e-6567e596a079","104":"d7d56a2b-bc35-4c89-87de-38c99e7d1c2f","105":"04d60765-2c11-48eb-b9fa-c3eb847b91d5","106":"23453c1f-3946-4db0-a75e-f8b6dab12569","107":"86a9327f-50c1-44d9-aa06-08dc3f25b433","108":"1dd8c1cf-ce0b-469d-9924-455dae4958f5","109":"832b5533-fa5d-45ec-ba4f-2dca1e8f0bba","110":"08d6ef2c-d97e-4b40-a5e3-0485b945f88b","111":"00b9dfc4-ac8f-4fee-bbe0-a76aeeb75627","112":"9e8fd38f-a406-4d87-8186-de37979d4d20","113":"6785811b-60fb-48f2-ac17-642ab69d1dde","114":"703d6094-850b-45fc-a01c-25ceddd49dcb","115":"3d6d4fca-b7a9-44f3-a888-d3e43a79331a","116":"52ff74a3-3d0f-4b2f-bfe3-23ff12f74354","117":"5bd210b0-2377-45c8-9287-ec607acbbe60","118":"faa18ecd-0edf-4167-8c30-8cf2b95f42e1","119":"fd4946a4-1633-4627-9728-c1b5dd276ddb","120":"575c59bf-c5be-4558-8ab7-7bb672f62ffb","121":"ef753ff4-2d7e-411c-880c-08222dd6a4c5","122":"e9444d6d-714b-4cd7-aa9d-9527f425fdd7","123":"ecbcd3ac-9937-4351-abd8-a727c0d0ad77","124":"ae863b85-af05-40ee-a092-c97eb733d6fc","125":"565faf2e-346d-4ba5-b9d3-99601ad33c74","126":"375f4305-47bc-4abd-8c68-b67cb50e7036","127":"f45bd228-43c8-482c-824c-71e48e8ef27a","128":"7676bdb0-2cc4-4966-8d71-b1025244d911","129":"120b90ce-8434-4e44-a32f-7e5da874eaf7","130":"1cbba583-ef54-4de9-9364-4e7371bf4ac3","131":"973c1ee1-2dc4-4cd7-be7c-32a37cb405de","132":"74c982f4-305f-411e-a8b4-d193315ab3bc","133":"9d4fa368-3e44-4262-a213-4157a14d3677","134":"05537cc1-9df6-4395-a3d4-1db6226c62b5","135":"7161f887-4de6-4b5e-9066-f39d6cad9f16","136":"382a7650-2231-4867-96e4-8d97242a4741","137":"788700be-1e74-46d7-9e34-1a5ec2747548","138":"cdca5dec-eeee-4849-9b2e-73b23e216465","139":"cb5bfa64-c3fd-435c-b0da-3891a86b20d2","140":"8f461b33-37cf-4049-b04c-4aa0d2292e2d","141":"c310aa38-b723-4a66-8700-47cffe7647f4","142":"b7c60d19-d652-4fcc-af1a-85409c9c131f","143":"c5cec892-2e43-4905-9d28-44fc8ecb5cc7","144":"213026bc-fd7a-44e6-b543-a31c219aaef0","145":"e63040c9-0027-4fd3-be30-67fe3e950140","146":"2ae437c8-afe6-4d6d-9562-0423227878b2","147":"b20baa46-0a1c-482b-a3f9-bbb8c14520e2","148":"19945f75-8353-45e1-938f-a548fa05e05e","149":"543fd6c7-fcf3-4df0-a4b2-891a8574b434","150":"ce494e45-5ff6-48a7-8936-30163c58ed99","151":"bc292fe3-2330-4a01-8615-412a19fd7f6d","152":"87142f81-71ce-4d60-9b81-4fe5674112db","153":"a97e03b0-e8da-49e2-9913-ad8c1826d869","154":"a5872d78-28e7-48a3-b452-ceb29de035cc","155":"379c94e6-7f27-42ab-ab45-66e3533ecde8","156":"ec49b6a2-244f-4cfa-b49e-8dd19213b280","157":"9a3f63f4-48b6-4fe0-9f59-9fac3d073750","158":"645a71be-2a80-4228-b036-9de863576708","159":"8d70c55b-d200-4f56-a159-28646427d4b1","160":"d2550253-f55a-48e2-8f57-c3931c0359da","161":"47c8ddc8-9dca-4363-a39e-95dd28008e30","162":"4bd38234-b485-4a94-bc2d-d3fc80d89955","163":"9ebc44a7-5c1c-484e-8b06-ae390a48db17","164":"f9f91495-3c3b-48e2-9f4c-a53b01c47f6c","165":"54836777-b634-4a21-ab1e-2b0e426b640f","166":"e34ec225-dda1-47fc-b56a-746da1965349","167":"9aa55699-b91d-4e4a-921a-4b60569824bf","168":"64109192-fd8e-422b-a9e8-74295d3d74ea","169":"75ffb576-34c6-4dae-87a6-0f45d6482070","170":"6c37df0b-7eaf-48d4-85d8-2453014d8edf","171":"c0afc8a9-5c49-4f15-8834-6e39ff144da3","172":"f71f9cfc-a107-4404-bb2c-7dc30e10e8da","173":"9d43ff24-4165-4c48-bc5d-ccb89b0667bd","174":"e3bffdbf-01eb-4309-bdb5-4358662eaac4","175":"b06788d5-4715-4168-8f7d-d6380f73fe54","176":"9a0d25cc-f5c2-4780-b674-38fe17e73f8e","177":"1576f21e-9ca2-4f29-8b14-53ce98205a5b","178":"78514976-87cf-4d89-85cd-9d0df590a317","179":"d7e6366f-3f5c-4dbc-a1fc-b63de74ed7eb","180":"76dfe171-525a-48ea-8652-b7537aa06572","181":"edb1b2eb-dac7-4c4f-8967-35f61c75fd93","182":"da80769e-0a55-4e05-bf58-1541842f4e82","183":"b9457302-db10-49ad-98e2-1c44cdca24b9","184":"ea3d81c0-c862-4e06-90aa-63f746e5ce6f","185":"552785c2-43cd-41e6-a13a-818388b93968","186":"eadfab64-b2a7-4704-8241-37ae3b42f705","187":"fc4f02ab-2e74-4deb-8d83-ca3da65c99ff","188":"edf0442a-4976-43f4-9a9c-66e43f0353ff","189":"197f8869-1891-4e7d-9465-97b9183aed22","190":"1af0aadf-7edc-401a-9750-0074b8b46b6a","191":"51cfbd8b-5223-4101-b4f3-f62872a82b58","192":"83e8cf5c-ad5a-4cfd-a0d0-eb4ca9f48127","193":"dfb470c9-e7f2-4530-9b5b-3de8214501da","194":"3bff8428-7481-4847-b00e-f0e49233b86d","195":"819ef76e-1023-4f06-bfb1-96cd3e58ba88","196":"94c39cef-53e1-41b2-bbc6-94a869d79c64","197":"267248a3-baaa-4653-83b3-ce478d600b17","198":"043e9b00-4a2f-41b8-bf2f-4aaa4442f138","199":"d5016f16-6431-4e8f-b0cc-5f0f400b151a","200":"01a87958-93cf-4efa-857f-10913b0573d9","201":"515ee20d-20d8-4195-bea5-213e6f1fd929","202":"ac5dda48-2bbf-453b-a4d5-517ae78499a1","203":"4c24445d-a29b-446e-b03f-29e570e9d47d","204":"91d167b1-652f-4ac8-adc4-973b548ccd5d","205":"f94702c9-cb55-49e3-8cc4-138288fa1f13","206":"4b2109f7-abfc-46b7-b752-f9423b6f2e35","207":"6ebe5e2b-ef9a-4849-b234-131b25579adf","208":"33b65ccc-58a0-487d-8b68-a997a71b0bfe","209":"25575b2b-223c-48f3-ab6f-7133d26e86e8","210":"99a71734-3128-4535-bb9c-f69de5277f49","211":"2d546425-921e-4900-b249-fa5a1c7d5513","212":"da59d582-9254-4091-988e-b670dcabe84a","213":"a160804b-15cc-46e2-8ffb-401c2aa01de6","214":"c27e460b-f3c3-4716-b20a-69f766d27f34","215":"6d0d9986-5871-4e5c-a415-6457552595eb","216":"663d3348-9700-487e-a30e-f472d933e859","217":"47da23fc-17bb-4a66-9c6d-fb66fddb3be6","218":"e0f9e669-4748-4cde-be95-58e47e094253","219":"6209370e-abeb-4ec1-b523-dc21ea33fe0c","220":"91cca4a9-a40f-43eb-9ba5-34c738b03d1f","221":"542cacd4-c366-4a76-8d01-4ace6c5ce619","222":"fb1fb4c7-78e8-47e7-8ff1-34a4afcd10c7","223":"b6ac5f2e-907e-4926-88c0-355d30c6b7a5","224":"8acc506a-41cf-4b62-ab1f-e6f523baf75b","225":"7dc67bed-fd0f-4145-9525-5840bbcc4822","226":"9c09eee2-e4bd-42ea-aaec-43a6d1451db3","227":"db2a5655-6b32-4877-8285-40c6ddc9ba3c","228":"d73b886e-2498-4c17-9346-a85f77d4a454","229":"9385face-922e-4158-9632-7ab9fcb00166","230":"464187d2-ff5c-4d42-9937-0206cffbd883","231":"ef2e81c1-d06d-474f-b12c-14de1702db1b","232":"31047680-b58e-407a-9f39-1b59fd656e13","233":"8996b3c3-2569-473e-9d28-2b2cb17bc7a3","234":"139d4b6a-2b6b-4bfa-8d00-1bc8e69923fd","235":"c0542188-97dc-4cd5-a275-ede25d9797ba","236":"5031a9db-aa48-4903-9b16-75a54f5959ce","237":"f1746662-adec-4054-98bd-94b553bc6c6d","238":"3d82f1a3-ad2a-4e81-a4e3-cb88c968f6e9","239":"3c3d8cda-b79d-47a5-9bc4-378daf3d4358","240":"48678652-cad7-40ae-918f-af432b37fdf9","241":"1ab5006c-9156-4605-a670-68e1c2eb2e9a","242":"b799b159-3bab-45f8-92e4-3107bca46513","243":"e581b7dc-da92-421d-9262-a5781c287728","244":"ad861a50-c881-4aa2-839b-d1248a810c77","245":"172c1b1f-9dc0-41c8-885c-aba814e4fe08","246":"c51bd0a9-99a7-463a-b20a-fe2e484ab26e","247":"d7e26b38-f5a3-4ae3-9486-66d63222b336","248":"45ce64f5-86ca-425a-8074-7603cdfc1d4a","249":"a3d914e9-697d-425f-abda-a6b21b4de952","250":"2e715d3f-349f-41e1-bd89-7f685939d5aa","251":"46fc87ec-0f7f-4c55-a5d3-721365c5f364","252":"6a04c57e-0076-4f30-9f99-f92eba7fcd53","253":"1240b6db-1f41-442a-88ce-5ab0944d804b","254":"e961fe5b-cce0-4a1e-8742-936ab8088636","255":"7e9abf0f-84a7-44e6-b4c3-e3da6f942072","256":"d24cdfe7-bb26-403d-a854-dfa77506e5fb","257":"5b609887-c1dd-407b-b3b6-b1eb35d1e818","258":"20100af6-ccd1-41ff-b7b0-5d2f6bb99f85","259":"6a7c1ad1-21e5-4b2e-bf04-cc08d639313c","260":"7cd6a310-cf17-4f6d-a818-8f29d029778f","261":"d3924bae-be5a-43a0-be19-64fc7c8d6059","262":"01e5ced6-4813-4a22-a709-f68689c494c1","263":"f817665f-e59a-43a0-9c86-0d39f64b594a","264":"ceed114a-ddb5-47d4-9b7a-ef1ce9398e09","265":"ad96a3cc-119e-4842-86cd-c633b1c702bb","266":"bf0db0d2-8582-41d2-bcfe-5299bec3d06b","267":"0b59767f-dcf2-43f3-895b-d876afed0063","268":"3af29052-8fa5-4998-a0e0-b3ea188d8860","269":"7d005e15-c63a-44f0-b12e-b8599a9f0424","270":"f7042d78-d7ae-4a0b-b273-197813c61648","271":"936f57b0-0376-411e-a9c2-776681111efc","272":"042cfada-38db-4af5-a1c8-13ddce0da29c","273":"5ea1b039-9f46-45ac-b8d3-ba837f10f069","274":"58e7abb1-de9f-47f9-864b-d5c8218f1769","275":"9a564782-3a07-472b-ae06-5a7dfd123e7d","276":"06484d1a-d956-49a4-b9de-e779696d001c","277":"4c352619-ef4f-4919-b64c-ef11d4435754","278":"ae2bb239-d304-4037-b35d-eb7d3ded91bf","279":"d43b5a55-9e60-48f9-9e77-ac1cfa97dafa","280":"2ed46940-a47c-4283-bf5d-6b52132da9b4","281":"8f6dd44e-9191-4d5c-b5d3-75a6c027b360","282":"22c7914a-d836-4b41-93e7-7de9e3b9b11e","283":"154e5001-729c-4a9f-983b-342d3092a0f3","284":"310a7a9a-8d4e-4365-a877-1a8e2bac2a81","285":"86a6eb4b-cb64-4451-9dc5-94efff6b8ed6","286":"b1ef236a-9ecb-406c-b4f0-6ef0fbb50bd1","287":"4aa8cfcb-7aeb-430b-9726-f8bb8d8f4124","288":"6222ad4d-f6d8-48c0-9f27-10e2b64d7481","289":"bfb82ee6-345a-44a4-84e1-d6706cc8b29d","290":"dc17bd30-20ac-47c3-9c42-af6b3cdebf6e","291":"72091a02-bab4-40a7-9ee0-4c180ee24f99","292":"2be9c88d-be24-4880-aa12-ea8dc685a726","293":"c743b888-a53c-42b8-b4f0-3afc6d763617","294":"d30acc39-3742-47bd-82de-f5e1b9af565d","295":"b0c166d0-c6dd-4328-97a9-335c25fff2fb","296":"79eaae57-56e1-4bb5-a573-bb9c829e8c8e","297":"b7b36555-0ab1-4a64-ba01-3017e4809cf6","298":"1980c435-9871-470c-973e-9253f8a3b122","299":"e4dabc7e-9566-4e7d-8d28-cbec2f811798","300":"23696e3e-a6c7-4ac3-8ba8-884718dd688c","301":"9d5fa98d-ce5c-4e7a-8041-2fee8d28fe35","302":"078b7202-f156-4936-8ca3-860055a20f1c","303":"536fa669-d522-465a-a67a-589a07aa09ad","304":"30e8ed70-1885-444a-9697-a89d5c524690","305":"490e286d-0367-40f2-8ed6-60d70a60bdfd","306":"4ade9146-10dc-4368-8df0-856b37b4d076","307":"d8978045-7af1-4f2d-8811-ee69af88432d","308":"2e21ec8e-8319-4cfd-820c-b9ea56b83a0f","309":"ef89bb8c-861d-47be-9488-0c318ad7a7c9","310":"424ba6f4-02f4-4d43-8b4a-a5d97a940103","311":"0ae60a18-b085-4a9f-be13-89e31e529692","312":"6089915e-5935-4004-aeb3-1099b99edc06","313":"1139da84-fbc7-45c2-a03f-519ed2849220","314":"31277649-04ec-45db-adfc-4a7d0a73686a","315":"82b2446e-c12e-436a-8340-76d38372ead1","316":"b665e908-9db0-4c06-a209-1a7e9f41f283","317":"8600329a-4b2b-44c7-8e66-634b0d81ce3d","318":"38e9a85a-ac7d-4cb0-bd43-a5ae2099640c","319":"56c27d46-39b3-4ac1-b4f7-71c118d8dde9","320":"ee47622e-4eb6-4fd0-81f7-97b33adde8d2","321":"56450137-c20f-4793-972c-fb3fe56ae8d5","322":"a0a6c5da-d68a-48dd-864f-e7632f8f6fde","323":"ce79f42d-107f-4483-91c4-f5520c1d79e6","324":"4270e6e1-4d30-416b-9ed3-5bc64d574148","325":"c8fe583a-357b-4fa6-86f1-fc2de639c909","326":"cf1cffd2-27e9-45b7-9720-0025e890f99b","327":"f05191b9-468c-407b-9601-453a46fbaf1a","328":"56b29112-55f3-4e0a-9279-f6437adb2847","329":"1327d1ea-c923-44cf-85b0-eb9e1e272167","330":"6bcaa132-06af-423a-9998-8f73161a2f73","331":"9f97c3df-a0a3-4fa4-8570-094a2e65d8aa","332":"4d9a507f-84a3-456a-8b60-6d1bf48816ca","333":"5d8870cd-d401-4b52-a3dc-641c02b3b31f","334":"4f87eff7-616b-4663-8f11-cd7a7ddd3649","335":"d661f0e7-7f81-4227-80dd-f93aed873630","336":"9413049d-a4f7-4c1c-8b8a-d2f1f4c18e53","337":"79015536-c137-4c87-a337-99dcf3deff81","338":"1ddd4971-348f-4e3b-bac7-23b3082792c4","339":"45886651-bb90-4ae9-9a8b-ad6658514f37","340":"8cf1190e-6967-47cc-81c7-7258ec75d70e","341":"adb6b43b-06df-4daa-b8e6-bfaae277d6dd","342":"52e52d0c-02d7-4965-a46e-93462e083659","343":"071de01c-2838-485b-bbae-9b3acfdbcdd9","344":"8951fabe-dbbf-4b32-82e2-e36da0b92fdb","345":"4ac57cbd-c325-4d49-9e92-71ae3b6a65c6","346":"abb3675f-8a83-4f48-8bfb-3703a961c205","347":"a7ac32e0-c6ad-4663-a543-c9d3a9f2d0ec","348":"f6ab96bf-1d6b-499b-be62-21dd8962d37d","349":"ca9ca28a-3488-405f-8d74-8a609440ee95","350":"b63b85fc-685e-454f-8f93-31db02b95a05","351":"d405df88-2c4d-4b33-a051-583defdf72d8","352":"0eda844f-466e-4855-8f35-bcede968cdf9","353":"949d3fba-3b60-49ed-a83b-7180822d6bc0","354":"8fd543c2-5d64-415f-befb-acb627cc1be3","355":"063eb06e-57e0-43dd-b85e-90baed4f025c","356":"e8d04f75-a134-452e-a04a-af5172d65040","357":"344a6bb2-dada-45f3-ba66-6fdbbb57f394","358":"1c146ed1-3b8d-4171-ab72-42668e6827be","359":"8078b4a3-f928-41de-be6e-79ea410e8091","360":"a76daffa-ba3f-4c09-a947-5b694aca4448","361":"2a488683-f25b-4ecb-aea6-9a1c96d1e372","362":"8746f5b3-e2a6-4067-95bc-9da3900690f8","363":"9b8657b9-c820-43a0-ad19-25ea45a100f1","364":"e3facfbc-0d1a-4b55-bc16-5f5a67c8c553","365":"58305289-16ea-43cf-9144-2f23b383da81","366":"5cf2b4da-c1b8-4005-930b-73cc39ac9d28","367":"c0e407e9-fc15-43fa-9a61-4c79a3acb6a9","368":"fe018770-0c06-4bbd-bd75-a7d9fb26b078","369":"c94e1719-bcc7-4c6a-8563-505fad2f9db9","370":"2bf07f1c-8150-4895-b8e4-5807b5754527","371":"b44be747-32cb-41b7-9e1e-21472534b4b8","372":"811379b2-2e27-4268-b821-940766960802","373":"76fb5718-e965-46ab-9f0c-c82baf648abf","374":"0e11729e-09d9-4a3c-83dd-1ee16ed4f2f8","375":"4d7a6918-e6ed-4328-a7b6-1f5e874618d5","376":"a3114f91-5182-4803-9ec6-fc1e6a7f9a87","377":"57d0b848-3bf5-45db-bfe2-447933aee7fd","378":"a91233a6-a786-4ca8-b50f-9faca5cb3733","379":"1c4e94a1-c36a-4b8f-86be-a9b2ae736a71","380":"dbd44b5e-acc7-4797-9c06-a07b19f03bdd","381":"25ae7b90-4e78-49c3-8bd5-59712fc87b77","382":"fd0d5e77-2074-4c3e-b708-4a2c0cc6f7a4","383":"1bc2df6d-f59e-40f4-ade3-83a357676123","384":"3cdfdc8b-a6ec-4aa9-bd10-0aab93237825","385":"267adeca-82e1-4578-8d3f-85608cd0aa87","386":"737a55bf-3ab9-472d-ac49-61309a13ef57","387":"c5555c97-f068-435d-8e2a-635bbc184c16","388":"bdfe2fc5-2d18-4c27-a2fe-c1a83f962730","389":"31d3adbb-83ec-47aa-b2fa-7c874d710459","390":"03fc3659-217c-4189-9da1-1d9ae8b29f2a","391":"d3f65018-2833-4746-9425-dd78590f4f26","392":"cd90265f-4593-446b-9153-623c2f339dc0","393":"cd4d4ab6-0652-46dd-b887-71714317f470","394":"62ecbf4b-19da-481e-8910-6201521c4bd9","395":"b82023a0-5f10-4648-8230-74b159f6b185","396":"ce84541b-a7f2-4d49-9074-040217580385","397":"c40ae12e-bf54-40ad-aa30-2278d78f86bc","398":"afbc81cf-82bc-4f9b-a96d-079f5cd12130","399":"094e242e-85be-433b-b64a-1c951695568f","400":"4e4e3ca6-b90d-484d-80e4-6fe6b0261532","401":"c11040bb-b868-4ab9-91c6-6a3924cd5c19","402":"a054889a-5380-4361-95e0-4482cf8bbe9f","403":"7ebdfa78-1942-457e-8f30-f178525bb5f1","404":"0e25d9c8-9b52-40db-9979-3d1492d9ffeb","405":"9e41c3e8-db93-41db-9ce3-95b248af6c68","406":"abd1afe4-2fb2-4f91-94aa-39d56f94ca05","407":"7d016aa1-e2b3-4fb0-a51e-8e01df77c6c5","408":"9f96d700-d8bc-4aa1-bce8-f284a9117bc7","409":"5ed70947-70c6-4e1d-9241-7d670874a07f","410":"caeab2bf-c814-43f2-a220-e13b6d557034","411":"d34728c0-95de-49fd-a23d-735c7084556f","412":"10c9e65e-ea35-47c9-a8a7-4de86c6438b8","413":"0639fbba-70be-4398-857c-6786dab39bea","414":"2588c8c7-5347-4d68-b9a0-c794e5fdf408","415":"33d7dc96-ff04-4178-8f67-9c380d26f168","416":"b6904047-0232-442f-b444-d99a440edf2f","417":"10e8b2e3-2a00-46e8-94d5-44c0403df6bf","418":"2d519ca8-1f12-4a8e-9340-aa6648b5e799","419":"0c03433e-8947-4e7d-9dec-793526fe06d1","420":"f5d2db25-114e-473a-8313-96831ccd011e","421":"e71e6f97-fbe8-4bf5-9645-d15179ba0c17","422":"288e3778-900b-4bfd-a455-e94ed75c6ec2","423":"3cc75979-18ac-46c4-9a5b-25b327d99410","424":"ab699540-efc8-4592-bc97-204f6a874b3a","425":"6c0bab88-aa88-4825-9cf5-55df36aa12b8","426":"c7a19161-b361-4074-8c51-2398a0a70d1b","427":"710ee212-563b-42f8-acd1-57515479524d","428":"d51549fd-2e38-4271-b85a-afded45400df","429":"9a0ae372-beb4-4009-b14e-36ed0715af73","430":"24f6df16-98dc-4176-93cf-456a5e4d7ab8","431":"0a8d8d02-5d03-4488-8431-e75602fea1e4","432":"c6497cec-51b5-4d94-940e-107990a25afd","433":"d6c8b7aa-bdcd-459a-a2ec-fbbba09cffcf","434":"8331c71c-5725-472d-ad2e-65e4110982b7","435":"3a59c6f8-59dc-4a12-8fd3-c509a9d84906","436":"2078227e-d38c-4f58-abd0-6f4878806a9f","437":"9710b923-9e8c-4762-aa74-bffefb263a7e","438":"953f1c50-c18f-43f4-815a-c19e5aff7af7","439":"ba1d3193-abc5-4b8c-a512-e8fffe95ad99","440":"968caa09-3778-40bd-97f9-0efffa676803","441":"48122725-f6bd-45e5-a6a4-40fa2ffee1d4","442":"b1ec687f-252d-4b35-b57f-a0cf0bb72212","443":"8ca7ff43-d384-4588-a069-48ec57765db0","444":"5c76e88d-29e4-4078-aed2-7686d5b1eec7","445":"fbf439af-f29a-43ac-ab5c-b6608bac3933","446":"37bdb55d-7df3-4fe1-9368-0f6b4984efc4","447":"4ff9cbaf-1c15-4f02-b5af-1f2cc409e52f","448":"9d9e187c-1a60-4f91-b0e2-986eb0743262","449":"a6ae94db-ecaf-4fc9-ac0e-c5b72a7a95ec","450":"87a14a81-8fe9-409c-91d3-895c6dbe4782","451":"2d43ca1f-3b8b-4afa-8e5b-6aff25bab3a0","452":"c34cf6d8-e1be-4463-9ac7-13f6048ea708","453":"dd5186fb-4307-4484-9899-472edbf46343","454":"e421db99-97a7-470f-a058-9387731815ea","455":"88b62167-63ae-45aa-8c8d-fb496b7c13e5","456":"28e3bb10-95af-4c63-934b-880f03d52be0","457":"cd06f23c-9a61-448a-864e-529298e5bbd1","458":"933a73ef-fb60-429f-9126-4f7d2a01605f","459":"3d540639-ac08-4e71-a233-3b483f594c1b","460":"8f9dbf41-6c2d-4e7b-855d-b2432c6942a2","461":"649f2aec-6f59-4157-ac01-0122ce2e6dad","462":"9411e401-27da-4546-b805-3334f200f055","463":"9af822b3-80d9-46bd-9ce0-e6e5c2e61da4","464":"b5d46bb7-d49e-42f6-817b-323fbf6d62b0","465":"911fe222-f9b2-4892-9cd6-8b154d55b2aa","466":"c6176cb5-0a32-4d68-a749-8ee33b2230c1","467":"2a3905ff-2030-421d-a2bf-90fba71c1c5e","468":"a3ea61a8-018c-4277-afd9-ac0a34faa759","469":"62f61c31-a453-44ce-87a2-b5ce142fb052","470":"95a626e6-f1b8-491a-aa31-8de5a2beb513","471":"51b37dbf-2beb-425b-a817-89434838c857","472":"8c2aaf82-442e-46a7-9ea5-1b7862cacb87","473":"ba5c8d03-9093-47a9-a8cd-b721ceeee1dd","474":"967f98c3-d708-4602-9c71-0f34562cdfca","475":"2cdbdb66-132e-4202-90c6-e0a2d8022cc6","476":"afb33fc2-3071-408a-b312-da22478c0a14","477":"f2df1943-1ebf-47c6-9b81-ad613b7c5d5b","478":"272f0dea-8aac-4ca9-98e6-79897e7df0f9","479":"7dd4933f-8a0d-478e-b0a2-1e2c2f1c6957","480":"1e5247be-25c1-45bc-92a6-e2ab1bfaaa8c","481":"d7b990f8-86fc-476c-bc8d-44ba9ecd1c05","482":"7530d72e-1b5b-408c-9abc-59957a90970f","483":"902446c4-ff32-4118-83ac-1f4bf89c56d1","484":"29c40e04-59fb-45dc-a80b-31ee1c4f82ac","485":"a4b0d100-c480-4697-b606-489d80a6d376","486":"90c9965a-1dcc-4786-a2d2-6299fed7260f","487":"b2ca635d-350c-4977-b8d4-2b2dd28cd2d7","488":"a6cfd078-bc39-4ad8-a47f-49097913a27b","489":"ad3e7665-cf63-4135-835f-2f743c69bb36","490":"27692d7a-c05f-4ac4-ac98-f25e359faebc","491":"8aceae65-2dce-44b7-94b1-b4bd34d287a5","492":"2b1b3011-0b81-472e-aa42-26383f453268","493":"f1a3f1bd-b5f7-43bf-9b72-c7a060c24f73","494":"efb3284f-bedc-453f-9519-043f77f2e85d","495":"0d915e65-114c-4945-9585-ac58ad90223f","496":"791dfc7d-24d9-4e87-b639-d19561b6cb26","497":"aa355fd9-295c-43f3-9f11-7a781a9808b0","498":"049b9d0c-1cb3-4511-be7f-9fad6e0a607e","499":"395179c1-37a0-4250-851b-5bc19fd601b6","500":"35abb89b-33b8-4cb4-b3d0-ee132247de8d","501":"0c64d302-c6df-42eb-a0ff-7c90f867ba4b","502":"174b5b41-b70e-485d-b00a-a61cc9826b2c","503":"69feebc3-e241-4dff-a000-736def80c851","504":"c4ef6072-822a-4fa5-b618-e7fc0508c499","505":"b148f5b4-e237-41a0-a1a3-30c455321149","506":"729b7ea3-59d5-4182-9177-684da6fbe0a9","507":"e42929f1-ccd0-4fff-8413-6cb94cf08405","508":"bb0337d9-69f7-48f1-9c12-2de83ceff42d","509":"c34145c5-bc8c-48c3-bafb-ebda44f1e300","510":"04993e98-6b77-46d3-ad80-5278550e9b65","511":"5e73653e-519c-4f13-9f69-1d80c19151d8","512":"217d4bdc-4b0d-4986-be2c-de98efd00f62","513":"7434948c-1b56-4dd0-bb0c-a3d291653f09","514":"d3a729d9-c25f-419c-ba7e-63cd2cac1a4d","515":"09957acb-9916-41ea-8799-66b0359ccb31","516":"84cf449c-e1ae-49a4-a170-c63464106cfe","517":"13d4b7b9-897b-4c71-be66-13aba3c3310b","518":"699ccf4d-45a4-4635-ba4d-850a40ba6e0a","519":"0bc8fd97-b7ae-4a59-98b8-2f60fe4cf874","520":"87103032-b0e5-47c4-a632-ba33da2cbe1b","521":"585d7b93-955d-4099-b9f5-2ea41797f419","522":"0375d846-a203-4813-a330-0d8fd1e6586e","523":"3f349a8a-e5a1-4f43-9cc4-cea2f0f5b623","524":"ea84e01f-5fac-4269-9754-c2c934e4b7d6","525":"48360916-a894-4bd8-b8b5-4595bb7ccf2e","526":"787524d3-1b60-44d8-bef2-d42156c55446","527":"d9952f54-1e40-4e5e-87af-b1011ca18b83","528":"2e691f79-065c-42bb-879a-a91a3cda67e9","529":"37999ce4-4189-4d46-bd77-4b7b5ec4be62","530":"573f6de1-1379-49f8-8342-588bd81a50b7","531":"a2922c8c-4da3-433a-a6b9-85ee0620d876","532":"f163ed91-e4c2-40f0-bb83-0540f4dc9706","533":"6bc790f3-c15a-4aa4-adb1-a1f9c8265b4b","534":"ec907a52-f1aa-40df-8d63-cf1911a42abc","535":"867cea4e-6ea4-4fe2-a4a1-b6230308f8f1","536":"242e07fa-399f-4caa-bfc2-1b77bd2bd538","537":"49714981-369a-4158-aff6-e562ee5f98d5","538":"6e5c9f1d-160b-49b1-9b74-606d2f695c7e","539":"c61c1c19-cc53-49a2-b207-9de6b9ce328a","540":"78b81c0a-44df-4c24-b2a5-5d273737da60","541":"525d85fc-f4d4-49ea-bebd-dc51bc562adf","542":"98467918-ec0c-47e1-8ce6-55949326eb4f","543":"983ebe9d-535e-4bdb-a37f-6b681a96f5a3","544":"1a48f832-e111-430b-9639-38bb63ec749e","545":"5f579567-d069-4a88-b866-d9ef5d85c8c5","546":"1fcaab1e-18b8-4eb0-a36b-0451b58cf403","547":"882c8ced-9183-4fa2-9661-2b150e3bf769","548":"29506948-3688-4a66-999b-05b8aca583f3","549":"4de90e1c-b6e4-48e6-8304-f624123ea33b","550":"75941ed5-78d5-41e9-8dca-e3fd9a5ce9ab","551":"6de2590c-63bc-4f65-bc4d-edaa7b79a342","552":"e5e9f07e-d956-495c-bd47-8749b51916ac","553":"c9ec7ef3-0fe9-4e52-8e92-d6259775b38e","554":"ecfa83b1-fe79-414d-a529-cb72c18e1806","555":"3f6eb436-9c32-4e9a-8dc2-cef5acc17478","556":"73141f86-d17d-4362-91a5-a885fbb815d7","557":"d3e683bf-14e4-482c-90da-d2220018517e","558":"a2b2dfdc-d014-466b-8d45-9432c9866f6a","559":"21de9d6e-f13f-4c1d-862e-17a1428a0c50","560":"b9948d0c-d9da-4c22-adb3-ed3fd8509806","561":"e1bb3954-5a2f-4039-bb6c-3b6489cc007c","562":"49be6be8-e17b-4bc6-b206-3aece5fb3708","563":"503161e4-286e-48d3-bcab-61b8769c806e","564":"bb9ea0e4-c446-49bc-b4f1-3d2daec6c9f0","565":"d557b2d6-4e84-49fc-ba75-35f6c87036c2","566":"ca49a92a-1ae1-45c6-9b8f-aad28d9859c1","567":"a8aebdd1-1479-4b00-8415-8f6da2018dc6","568":"a0945b5c-2f1e-45ce-95fb-721e5657afa7","569":"4fa0ea70-46da-4fed-bde1-01dea3f3056b","570":"9435a1c1-00a3-4a9c-9aa5-05713a221bc5","571":"2a22f176-01c2-42f2-a7d2-2c7054504aa9","572":"46f54639-5f91-4731-93eb-e5c0a7460538","573":"a7f5d8de-4882-4111-9d01-436493e5b2d8","574":"0d554a9d-7d06-48b3-8aea-ffaeaa30380a","575":"e5d065f6-907b-450d-b998-213cdc54eec1","576":"5548037e-8428-43f8-bcb6-d730dbcd0a79","577":"8477bbec-974c-45bf-a1ce-49a48d5b5307","578":"db9ed060-d556-435b-945c-19c923e233d3","579":"a09be1c6-93fd-4b54-b9ca-62e60efbc818","580":"de50f4f6-3d7e-4d6b-ae34-e6a34b24b104","581":"442f3ea3-c7cd-4759-84ee-a0d2fac5a711","582":"b9d21957-633f-4926-9562-4cfab38badee","583":"91183077-8eac-4e29-a197-9190429ef0ba","584":"ac09f902-8921-4a58-aad5-c679706697f6","585":"2ddec223-13c2-4bf9-ba05-66338c51bd45","586":"098917ec-d86a-4cee-9c65-7997295bc248","587":"5f07c608-acf2-4cc5-97d0-1a0a96acb9e3","588":"2f5f91c0-bebf-4de2-bf70-8d9bc1816997","589":"f6f120ee-fbc3-49f8-a2a3-a49e8674b8c8","590":"d09c2121-c7e4-4d99-9556-02b92d17a652","591":"ca924c87-8012-448a-a6c7-a7ff91b0e801","592":"225daaae-6f35-4489-aeb5-73e66e0664a4","593":"b183f553-ce82-47c5-a4ed-6470b83b0d45","594":"6f820954-63e4-4bc9-a299-8266e712d838","595":"686e9438-d86e-4504-b9f6-7029b264924e","596":"bcaf33a4-98c3-41d7-b416-438670e97d53","597":"40659614-1b34-497a-b745-78497e4b2025","598":"6641c0af-44e6-4f6c-8558-f5cdf3c3feee","599":"52a61c5e-07be-4bb9-9649-d3375c66e97e","600":"ee18a848-1319-4ff9-b5e5-3f3710635dbf","601":"a30c0bb3-3f38-46da-8cd3-a813aabaccc9","602":"d48733e2-f003-4643-86a2-cb350fd0dc04","603":"369eefd9-0c39-412e-a294-d0bb2251c509","604":"ea2f8200-a920-40fc-9715-d0f66ae5f492","605":"f07f759c-41d1-4095-8054-dc471687884b","606":"5c51a13b-a083-43dd-80ea-f340e6ef88f8","607":"1278df17-e3e8-4d29-aa8d-0f779cb60b1d","608":"de36c624-8c78-4b52-8d86-431cec16a306","609":"39553630-8281-40e4-96fb-b01c1f3537e6","610":"05475442-0e52-4e0b-9fbb-2715f0e54f97","611":"2ee817c1-f2a3-407a-847d-b97ffb844e45","612":"d077c2a4-4578-4965-9318-c14bb7ac1bd6","613":"bdafa446-f615-49cb-94f3-d7652dde6cec","614":"b88679fb-0325-4c85-942f-ad9c6ed6545b","615":"3296c67d-6ace-44dd-8e86-335b9a90ad80","616":"caec26b3-847c-4876-80e1-e6206003ecb5","617":"c545a97c-6ac6-4181-a704-28031244aeb1","618":"17575457-18fa-43e0-a8cb-1331efc1c77e","619":"90ca403c-ddb5-4a55-ac6f-2ca2c970d6ad","620":"cefc210e-a06a-4e34-ace5-d24e5a525592","621":"ba05b02a-f2b2-4c5e-ba73-00a519535763","622":"6cc4ec54-404c-4989-9f85-9b59824faf96","623":"6c6cbf7a-6133-425b-8b29-41471889a67e","624":"fe628646-64da-462c-ac5c-1d4f976a129a","625":"9c0d97cf-0c99-4565-a931-b1c5bdf8fc1b","626":"c7b07df3-6afe-4616-9dd4-64f7687e98e9","627":"63fd0968-5f9e-4afd-bde5-0a7f36645ce5","628":"27e60f25-016f-49ca-a7f2-8b1e194f1d78","629":"d61cc329-1652-4b93-9756-ac4380e5bd04","630":"7d55bbc8-8692-40ee-944b-6b172680075a","631":"f878fa09-cb47-4e1c-8f1e-df2544a6882a","632":"12bfb5a0-772e-4d14-bb1a-00077211f70b","633":"1ae7e9fe-c0c4-4bb4-a0d6-28e21789a66c","634":"dee106ea-3e91-4b03-92ef-33038c5681a0","635":"93cbaa78-9185-424f-814b-b568c3358316","636":"ae98ddb2-901d-402b-8ab0-149b778acdb8","637":"6448ddc8-a3df-465f-b819-52f1cf347983","638":"92159a6b-a1b6-4f8b-9c08-503f2cbbd572","639":"1e8bb65d-51b6-42bb-813c-1fba696454e8","640":"e2ea58d4-ee32-432b-8086-29bf5675e5f7","641":"0b73f42f-ff32-4654-8857-aa13413bff33","642":"0cc588ec-037a-4eb1-b498-9f49a0669a36","643":"c82449ab-668c-4720-a641-381877751984","644":"2daf5d7e-b7bc-4017-bc0d-6fe32a676fa0"},"Name":"Izapu - Simple Laser Hovercraft","Version":25,"Blueprint":{"CSI":[8.0,11.0,-1.0,0.0,0.0,0.0,-1.0,5599.339,0.00121078722,0.0,0.0,0.0,0.0,20000.0,-1.0,-1.0,-1.0,-1.0,1.0,80.16141,254.969254,-1.0,0.0,20000.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,1301.89111,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,840.0,2000.0,10590.6807,15000.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,2356.70532,30000.0,30000.0,-1.0,4.0,-1.0,3512.25,-1.0,0.0,0.0,-1.0,-1.0,-1.0],"COL":["0,0,0,0","1,0,0,0.5","0,1,0,0.5","0,0,1,0.5","0.1,0.1,0.1,0.5","0.3,0.3,0.3,0.5","0.5,0.5,0.5,0.5","1,1,1,0.1","1,1,1,0.5","1,1,1,0.99","1,0.9215686,0.01568628,0.99","0,1,1,0.99","1,0,1,0.99","0.8720219,0.1564367,0.2957577,0.4566916","0.4715758,0.5007058,0.3879661,0.2771173","0.1492569,0.4405337,0.2444218,0.1615459","0.4212198,0.9643819,0.3261933,0.9182287","0.3166023,0.9060531,0.8125927,0.5150246","0.06592536,0.2148211,0.3696523,0.6571353","0.5,0,0.5,0.5","0.661131,0.02658808,0.8096899,0.5092851","0.01895547,0.3893003,0.8658047,0.3680153","0.9341949,0.5423947,0.5527261,0.9496107","0.6851997,0.09691417,0.2988105,0.2747382","0.4544905,0.5667017,0.1687111,0.876945","0.7728318,0.9772733,0.6895869,0.1873519","0.9173346,0.4490685,0.1395719,0.3588652","0,0,0,0","0,0,0,0","0,0,0,0.6","0.1,0,0,0.9","0,0,0,0.7"],"SCs":[{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","-1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","2,2,-2","0,0,-2","-1,0,-2","-2,0,-2","-2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","-2,1,-1","2,1,-1","-1,0,0","0,0,1","0,0,2","1,0,2","-2,0,-1","1,3,-2","0,3,-2","2,0,0","1,0,0","2,1,-2","1,0,-2","2,0,-2","2,0,-1","0,3,-3","-1,3,-2","-1,3,-3","-2,2,-2","-2,0,0","-1,0,2","-1,2,-3","1,2,-3","0,2,-3","0,2,-4","1,3,-3","1,0,-1","1,1,-3"],"BLR":[0,18,16,0,0,1,1,0,18,16,1,16,6,6,19,19,4,0,0,14,6,18,16,12,0,12,13,15,0,0,12,12,17,6,17,13,0,0,3,18,12,15,15,13,0,10,1,5,6],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","50,0.5,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0"],"BP2":["-30,120,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0],"BEI":[36.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,45.0,5.0,8787902.0,0.1,0.29,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"9,3,9","LocalRotation":"0,0,0,1","ForceId":0,"TotalBlockCount":49,"LastAliveBlock":49,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,23,572,366,366,366,572,366,576,576,596,576,49,424,424,576,588,366,366,582,424,576,596,576,591,504,603,585,576,576,600,576,31,593,502,366,597,600,581,580,15,36,502,49,594],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":49},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","1,1,-3","0,3,-3","0,3,-2","-2,1,-1","2,1,-1","1,0,0","0,0,1","0,0,2","2,0,-1","2,0,0","1,3,-2","-1,3,-2","-2,0,0","-2,0,-1","-2,0,-2","-1,0,-1","1,0,2","-1,0,0","0,2,-3","-1,2,-3","1,2,-3","0,2,-4","1,3,-3","-1,0,2","-1,1,-3","-1,3,-3"],"BLR":[0,18,16,0,0,5,1,0,18,16,1,18,16,6,6,6,17,19,17,4,0,0,14,6,0,0,18,16,12,0,12,13,12,0,0,12,15,19,1,13,12,0,15,13,10,1,15,6,3],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-120,30,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4],"BEI":[24.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,44.0,5.0,8787902.0,0.1,0.29,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-9,3,9","LocalRotation":"0,0,0,1","ForceId":0,"TotalBlockCount":49,"LastAliveBlock":49,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,49,572,366,366,366,572,366,366,576,576,576,600,576,576,49,424,424,576,594,31,504,366,366,585,424,576,576,603,591,593,597,576,596,23,596,582,15,581,580,36,502,600,588,502],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":49},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","1,1,-3","0,3,-3","0,3,-2","1,3,-3","1,3,-4","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","1,3,-2","-1,3,-2","2,0,0","-2,0,0","-2,0,-2","-1,2,-3","1,2,-3","0,2,-3","0,2,-4","-1,3,-3","0,3,-4","-1,3,-4","1,2,-4","-1,2,-4","-1,1,-3","-1,0,-1"],"BLR":[0,18,16,0,0,5,1,0,18,16,1,18,16,6,6,6,17,19,17,4,0,0,14,6,0,0,1,2,18,16,12,12,0,12,13,15,15,13,0,0,12,12,19,15,13,0,10,3,2,2,6,6,6,1],"BP1":["10,0,0.6,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0"],"BP2":["-30,120,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,0,0],"BEI":[24.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,46.0,5.0,8787902.0,0.22,2.0,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"9,-3,9","LocalRotation":"0,0,1,0","ForceId":0,"TotalBlockCount":54,"LastAliveBlock":54,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,49,572,366,366,366,572,366,366,576,576,576,600,576,576,49,424,424,576,594,31,504,502,600,366,366,582,585,424,576,596,600,576,576,591,593,603,597,596,581,580,15,44,502,502,596,526,522,588,23],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":54},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","0,3,-2","1,3,-3","0,3,-4","-1,3,-4","1,3,-4","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-3","0,3,-3","1,0,2","-1,3,-2","0,2,-3","-1,2,-3","1,2,-3","-1,2,-4","0,2,-4","0,0,-1","-1,0,-1","1,0,-1","1,2,-4","1,1,-3"],"BLR":[0,18,16,0,1,0,18,16,1,18,16,6,6,6,19,17,19,17,4,0,0,14,6,0,1,2,2,2,18,16,12,12,0,12,15,15,13,12,12,0,3,0,13,0,0,15,13,15,10,0,1,5,13,6],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,495,-50,2000","50,0.5,0,0","0,0,0,1","0,0,0,0","0,0,0,0"],"BP2":["-120,30,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,4,0,0,0,0,4,0],"BEI":[41.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,48.0,5.0,8787902.0,0.22,2.0,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-9,-3,9","LocalRotation":"0,0,1,0","ForceId":0,"TotalBlockCount":54,"LastAliveBlock":54,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,572,366,366,366,572,366,366,576,576,576,596,600,576,576,49,424,424,576,588,504,502,502,596,600,366,366,582,585,424,576,600,576,576,597,603,591,502,31,596,593,15,581,580,522,44,33,23,49,526,594],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":54},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-2,0,-1","2,0,-1","-1,1,-1","2,0,0","-2,1,-1","-1,0,0","1,0,-1","0,0,-1","-1,0,-1","-1,2,-1","2,0,-2","-2,0,-2","-2,0,0","1,2,-2","2,2,-2","1,2,-1","1,0,2","1,0,0","2,1,-1","0,1,0","-1,1,0","-1,0,2","1,1,0","0,0,2","0,0,1","-2,2,-2","1,1,-3","0,2,-2","-1,3,-3","0,3,-3","0,1,-3","1,3,-3","0,3,-2","2,1,-2","-1,0,-2","0,0,-2","0,2,-1","-1,3,-2","1,0,-2","-1,2,-2","-1,1,-3","-2,1,-2","-1,1,-2","1,3,-2","-1,2,-3","1,2,-3","0,2,-3","0,2,-4"],"BLR":[0,15,13,1,12,18,12,5,0,1,18,17,19,12,0,16,16,13,12,16,0,18,15,16,12,0,18,6,4,3,0,14,1,0,17,6,6,0,0,6,0,6,19,1,0,15,13,0,23],"BP1":["11,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,1","0,495,-50,2000","50,0.5,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-140,60,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"BEI":[30.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,48.0,5.0,8787902.0,0.1,0.29,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"9,3,-9","LocalRotation":"0,1,0,0","ForceId":0,"TotalBlockCount":49,"LastAliveBlock":49,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,576,576,572,603,366,582,49,33,23,366,600,596,597,424,366,366,596,585,366,366,366,600,366,576,424,366,594,49,502,31,576,502,504,576,576,576,366,593,576,424,588,576,572,591,581,580,15,36],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":49},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","-1,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","0,3,-2","-1,3,-3","1,3,-3","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-2","0,2,-3","-1,2,-3","1,2,-3","0,2,-4","2,1,-2"],"BLR":[0,18,16,0,0,1,5,1,0,18,16,1,18,16,6,6,6,19,17,19,4,0,0,14,6,6,0,0,3,1,18,16,12,12,0,12,13,15,15,13,12,12,0,0,0,15,13,23,17],"BP1":["11,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","50,0.5,0,0","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-60,140,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"BEI":[26.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,47.0,5.0,8787902.0,0.1,0.29,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-9,3,-9","LocalRotation":"0,1,0,0","ForceId":0,"TotalBlockCount":49,"LastAliveBlock":49,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,23,49,572,366,366,366,572,366,366,576,576,576,596,600,576,49,424,424,576,588,594,31,504,502,502,366,366,582,585,424,576,596,600,576,576,597,603,591,593,15,581,580,36,576],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":49},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","-1,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","-1,3,-3","0,3,-4","-1,3,-4","1,3,-4","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","0,3,-2","1,2,-2","-1,3,-2","1,3,-2","-1,2,-3","1,2,-3","0,2,-3","0,2,-4","-1,2,-4","1,3,-3","1,2,-4"],"BLR":[0,18,16,0,0,1,5,1,0,18,16,1,18,16,6,6,6,19,17,19,17,4,0,14,6,6,0,3,2,2,2,18,16,12,12,0,12,13,15,15,13,12,12,0,0,0,0,15,13,0,22,15,1,13],"BP1":["11,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","50,0.5,0,0","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-140,60,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,4,4],"BEI":[26.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,50.0,5.0,8787902.0,0.22,2.0,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"9,-3,-9","LocalRotation":"-1,0,0,0","ForceId":0,"TotalBlockCount":54,"LastAliveBlock":54,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,23,49,572,366,366,366,572,366,366,576,576,576,596,600,576,576,49,424,576,588,594,31,502,502,596,600,366,366,582,585,424,576,596,600,576,576,597,603,504,424,593,591,581,580,15,44,522,502,526],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":54},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","-1,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-2","-1,3,-4","1,3,-3","1,3,-4","0,3,-4","0,3,-3","0,3,-2","0,2,-3","-1,2,-3","1,2,-3","0,2,-4","-1,2,-4","1,2,-4","-2,1,-2","-1,3,-3"],"BLR":[0,18,16,0,0,1,5,1,0,18,16,1,18,16,6,6,6,19,17,17,4,0,0,14,6,6,18,16,12,12,0,12,13,15,15,13,12,12,0,0,2,1,2,2,0,0,0,15,13,22,15,13,19,3],"BP1":["11,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","50,0.5,0,0","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-60,140,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,0,4,0,0,0,0,4,4,0,4],"BEI":[44.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,49.0,5.0,8787902.0,0.22,2.0,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-9,-3,-9","LocalRotation":"1,0,0,0","ForceId":0,"TotalBlockCount":54,"LastAliveBlock":54,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,23,49,572,366,366,366,572,366,366,576,576,576,596,600,576,49,424,424,576,588,594,366,366,582,585,424,576,596,600,576,576,597,603,591,593,596,502,600,502,31,504,15,581,580,44,522,526,576,502],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":54},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["2,0,-1","-2,0,-1","1,0,-2","-2,1,-1","0,2,-1","-1,1,-1","-2,0,-2","2,0,-2","2,1,-1","1,2,-1","-1,3,-2","0,0,1","1,0,2","0,0,0","-1,1,0","0,1,0","0,0,2","1,1,0","2,0,0","-2,0,0","-1,0,0","-1,0,2","1,0,0","-1,2,-1","-1,1,-3","1,3,-2","-1,2,-2","0,3,-3","0,1,-3","0,2,-3","1,2,-4","0,2,-2","0,0,-2","-1,0,-2","2,1,-2","-2,2,-2","1,2,-2","-2,1,-2","-1,1,-2","2,2,-2","1,1,-3","-1,2,-4","0,2,-4","0,3,-4","1,3,-4","1,3,-3","-1,3,-3","0,3,-2","-1,3,-4","-1,0,-1","0,0,-1","1,0,-1"],"BLR":[13,15,6,18,0,1,19,17,16,16,0,0,13,0,18,0,12,16,12,12,12,15,12,18,6,0,0,0,14,0,13,4,6,6,17,18,0,19,1,16,6,15,14,2,2,1,3,0,2,1,0,5],"BP1":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0","0,495,-50,2000","0,0,0,1"],"BP2":["0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,4,4,0,0,0,0],"BEI":[27.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,29.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"14,2,0","LocalRotation":"0,0.7071068,0,0.7071068","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[576,576,576,366,366,572,596,600,366,366,593,424,596,143,366,366,576,366,603,597,582,600,585,366,588,591,424,31,576,456,600,49,576,576,576,366,424,576,572,366,594,596,576,502,600,502,502,504,596,23,33,49],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","-1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","-1,1,-2","0,0,-2","-1,0,-2","1,0,-2","-2,1,-2","-1,2,-2","0,1,-3","-2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","-1,0,2","-2,0,-1","-2,0,0","1,0,-1","0,0,-1","2,1,-1","2,0,-1","2,0,0","1,2,-1","0,2,-2","1,0,2","2,1,-2","0,3,-3","2,0,-2","1,3,-2","0,2,-3","1,3,-4","1,3,-3","-1,3,-4","2,2,-2","0,3,-4","1,2,-2","-1,1,-3","-1,3,-2","-2,0,-2","-2,2,-2","-1,3,-3","1,2,-4","0,3,-2","-1,2,-4","1,1,-3","0,2,-4"],"BLR":[0,18,16,0,1,1,0,18,1,6,6,6,19,0,14,18,12,12,0,12,15,15,12,5,0,16,13,12,16,4,13,17,0,17,0,0,2,1,2,16,2,0,6,0,19,18,3,13,0,15,6,6],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","50,0.5,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,495,-50,2000","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-180,0,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,4,0,4,0,0,0],"BEI":[32.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,35.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-14,2,0","LocalRotation":"0,-0.7071068,0,0.7071067","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,23,572,366,366,572,576,576,576,576,424,576,366,582,585,424,576,600,576,597,49,33,366,576,603,366,49,596,576,31,600,591,456,600,502,596,366,502,424,588,593,596,366,502,600,504,596,594,576],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","0,3,-2","0,2,-4","-1,2,-4","1,2,-4","0,2,-3","-2,1,-1","-1,0,0","1,0,0","1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-2","0,0,1","-1,2,-2","0,2,-2","2,1,-1","0,0,2","-1,0,2","-1,3,-4","-1,3,-3","0,3,-4","1,3,-3","1,3,-4","1,0,-1","0,0,-1","-1,0,-1"],"BLR":[0,18,16,0,1,0,18,16,1,18,16,6,6,6,19,17,19,17,0,14,6,6,0,0,6,15,13,0,18,12,12,13,15,13,12,12,0,0,0,0,4,16,12,15,2,3,2,1,2,5,0,1],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,495,-50,2000","50,0.5,0,0"],"BP2":["0,180,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0],"BEI":[22.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,27.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"14,-2,0","LocalRotation":"0.7071068,0,0.7071068,0","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,572,366,366,366,572,366,366,576,576,576,596,600,576,576,424,576,588,594,31,504,576,596,600,456,366,582,585,596,576,576,597,603,591,593,424,424,49,366,576,600,596,502,502,502,600,49,33,23],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","0,3,-2","0,2,-4","-1,2,-4","1,2,-4","0,2,-3","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-2","1,3,-4","1,3,-3","0,3,-4","-1,3,-4","-1,3,-3","-1,0,-1","0,0,-1","1,0,-1"],"BLR":[0,18,16,0,1,0,18,16,1,18,16,6,6,6,19,17,19,17,4,0,0,14,6,6,0,0,6,15,13,0,18,16,12,12,0,12,13,15,15,13,12,12,0,0,2,1,2,2,3,1,0,5],"BP1":["10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0","0,495,-50,2000","0,0,0,1"],"BP2":["-180,0,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,0,0,0],"BEI":[24.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,29.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"-14,-2,0","LocalRotation":"-0.7071068,0,0.7071068,0","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,572,366,366,366,572,366,366,576,576,576,596,600,576,576,49,424,424,576,588,594,31,504,576,596,600,456,366,366,582,585,424,576,596,600,576,576,597,603,591,593,600,502,502,596,502,23,33,49],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,1","-1,1,-1","1,0,2","1,1,0","-1,1,0","-1,0,0","0,0,0","1,0,0","1,2,-2","-1,0,-2","1,3,-2","-1,3,-4","-1,0,-1","-2,0,-1","-1,0,2","0,0,2","0,2,-1","-1,3,-2","-2,0,0","-2,1,-1","1,2,-1","-1,2,-1","0,1,0","-2,1,-2","-2,0,-2","-2,2,-2","-1,3,-3","0,3,-3","1,0,-2","1,3,-4","0,3,-2","1,0,-1","2,0,-1","0,2,-2","0,2,-3","2,0,-2","2,1,-2","1,2,-4","1,1,-3","0,0,-1","0,3,-4","1,3,-3","-1,2,-4","-1,1,-3","-1,1,-2","2,1,-1","0,1,-3","0,2,-4","2,0,0","2,2,-2","-1,2,-2","0,0,-2"],"BLR":[0,1,13,16,18,12,0,12,0,6,0,2,1,15,15,12,0,0,12,18,16,18,0,19,19,18,3,0,6,2,0,5,13,4,0,17,17,13,6,0,2,1,15,6,1,16,14,6,12,16,0,6],"BP1":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","10,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,495,-50,2000","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0"],"BP2":["0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-90,90,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0],"BEI":[27.0,5.0,8787902.0,0.69,0.1,1.0,9798003.0,34.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"0,2,14","LocalRotation":"0,0,0,1","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[424,572,596,366,366,582,143,585,424,576,591,596,23,576,600,576,366,593,597,366,366,366,366,576,596,366,502,21,576,600,504,49,576,49,456,600,576,600,594,33,502,502,596,588,572,366,576,576,603,366,424,576],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","0,3,-2","0,3,-4","1,3,-4","0,2,-4","1,2,-4","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","1,3,-2","-1,3,-2","-1,3,-3","-1,2,-4","0,2,-3","1,3,-3","-1,3,-4","1,0,-1","0,0,-1","-1,0,-1"],"BLR":[0,18,16,0,1,0,18,16,1,18,16,6,6,6,19,17,19,17,4,0,0,14,6,6,0,0,2,2,6,13,18,16,12,12,0,12,13,15,15,13,12,12,0,0,3,15,0,1,2,5,0,1],"BP1":["11,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,495,-50,2000","50,0.5,0,0"],"BP2":["-90,90,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0],"BEI":[24.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,46.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"0,2,-14","LocalRotation":"0,1,0,0","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,572,366,366,366,572,366,366,576,576,576,596,600,576,576,49,424,424,576,588,594,31,504,502,600,576,600,366,366,582,585,424,576,596,600,576,576,597,603,591,593,502,596,456,502,596,49,33,23],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["2,0,-2","2,2,-2","1,2,-1","1,0,0","2,1,-1","2,1,-2","0,1,0","0,0,1","-1,0,2","0,0,0","1,1,0","-1,1,0","-1,2,-1","1,2,-4","1,3,-4","0,3,-4","0,3,-3","0,2,-1","0,3,-2","1,2,-2","2,0,-1","1,0,2","0,0,2","1,3,-3","1,3,-2","2,0,0","-1,3,-4","-1,0,-1","-2,0,-1","0,2,-4","0,0,-2","0,1,-3","-2,1,-2","0,2,-2","0,2,-3","-2,0,-2","-1,0,-2","-1,1,-3","-1,2,-4","-1,0,0","-1,2,-2","1,0,-2","-1,1,-1","-1,3,-2","1,0,-1","1,1,-3","-2,2,-2","-2,1,-1","-2,0,0","-1,1,-2","0,0,-1","-1,3,-3"],"BLR":[17,16,16,12,16,17,0,0,15,0,16,18,18,13,2,2,0,0,0,0,13,13,12,1,0,12,2,1,15,6,6,14,19,4,0,19,6,6,15,12,0,6,1,0,5,6,18,18,12,1,0,3],"BP1":["0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","10,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0.5,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,495,-50,2000","0,0,0,0"],"BP2":["0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","-90,90,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","50,1,40,-1","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4],"BEI":[16.0,5.0,8787902.0,0.69,0.1,1.0,9798003.0,34.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"0,-2,14","LocalRotation":"0,0,1,0","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[600,366,366,585,366,576,366,424,600,143,366,366,366,600,600,502,21,366,504,424,576,596,576,502,591,603,596,23,576,576,576,576,576,49,456,596,576,588,596,582,424,576,572,593,49,594,366,366,597,572,33,502],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],"COL":null,"SCs":[],"BLP":["0,0,0","-1,1,0","1,1,0","0,1,0","0,0,-1","-1,0,-1","1,0,-1","-1,1,-1","0,2,-1","-1,2,-1","1,2,-1","-1,1,-2","-2,2,-2","2,2,-2","0,0,-2","-1,0,-2","1,0,-2","-2,0,-2","2,0,-2","-2,1,-2","2,1,-2","0,2,-2","1,2,-2","-1,2,-2","0,1,-3","-1,1,-3","1,1,-3","0,3,-3","0,3,-2","-1,3,-3","0,3,-4","-1,3,-4","1,3,-4","0,2,-4","-1,2,-4","1,2,-4","0,2,-3","-2,1,-1","2,1,-1","-1,0,0","1,0,0","0,0,1","0,0,2","1,0,2","-1,0,2","-2,0,-1","2,0,-1","-2,0,0","2,0,0","-1,3,-2","1,3,-3","1,3,-2"],"BLR":[0,18,16,0,0,1,5,1,0,18,16,1,18,16,6,6,6,19,17,19,17,4,0,0,14,6,6,0,0,3,2,2,2,6,15,13,0,18,16,12,12,0,12,13,15,15,13,12,12,0,1,0],"BP1":["11,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,495,-50,2000","50,0.5,0,0","0,0,0,1","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.5,3","0,0,0.5,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["-90,90,-180,180","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","50,1,40,-1","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","-180,180,-180,180","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","-180,180,-180,180","-180,180,-180,180","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0],"BEI":[27.0,5.0,8787902.0,0.12,0.73,1.0,9798003.0,36.0,5.0,8787902.0,2.0,0.26,1.0,9798003.0],"designChanged":false,"blueprintVersion":0,"blueprintName":"vehicle","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":144,"Parameter1":"0,0,0,0","Parameter2":"0,0,0,0","LocalPosition":"0,-2,-14","LocalRotation":"1,0,0,0","ForceId":0,"TotalBlockCount":52,"LastAliveBlock":52,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"2,3,2","MinCords":"-2,0,-4","BlockIds":[143,366,366,366,33,23,49,572,366,366,366,572,366,366,576,576,576,596,600,576,576,49,424,424,576,588,594,31,504,502,502,596,600,576,596,600,456,366,366,582,585,424,576,596,600,576,576,597,603,593,502,591],"BlockStringData":[],"BlockStringDataIds":[],"GameVersion":"v1.969","BlockCount":52},{"CSI":[16.0,4.0,-1.0,0.0,0.0,0.0,-1.0,798.6169,0.0008825592,0.0,0.0,0.0,0.0,6500.0,-1.0,-1.0,-1.0,-1.0,1.0,75.32685,518.9877,-1.0,0.0,6500.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,92.0635,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,3282.198,4000.0,-1.0,-1.0,-1.0,-1.0,0.0,0.0,349.4976,0.0,0.0,-1.0,0.0,-1.0,375.0,-1.0,0.0,0.0,-1.0,-1.0,-1.0],"COL":["0,0,0,0","1,0,0,0.5","0,1,0,0.5","0,0,1,0.5","0.1,0.1,0.1,0.5","0.3,0.3,0.3,0.5","0.5,0.5,0.5,0.5","1,1,1,0.1","1,1,1,0.5","1,1,1,0.99","1,0.9215686,0.01568628,0.99","0,1,1,0.99","1,0,1,0.99","0.5451294,0.3304301,0.5572518,0.2127055","0.3895922,0.2276471,0.7791611,0.4803358","0.3849115,0.5175514,0.767951,0.4887497","0.3386522,0.9660376,0.1162001,0.1406922","0.9194371,0.6260372,0.1927742,0.9565883","0.6102217,0.2118374,0.131294,0.01294023","0.7915151,0.5029142,0.7465956,0.6431662","0.08905005,0.8941948,0.8495209,0.4191968","0.3056421,0.6053602,0.5156426,0.9041755","0.02011514,0.8423711,0.2074968,0.521944","0.686676,0.3187581,0.9315459,0.1025748","0.3838742,0.5520981,0.2628652,0.9249687","0.4709138,0.5374482,0.7616608,0.8701951","0.1556667,0.5350656,0.2130498,0.7748267","0,0,0,0","0,0,0,0","0,0,0,0.6","0.1,0,0,0.9","0,0,0,0.7"],"SCs":[],"BLP":["-1,0,3","1,0,3","0,0,3","-2,0,2","2,0,2","-2,0,1","2,0,1","-2,0,0","2,0,0","-1,0,-1","0,0,-1","-2,0,-1","2,0,-1","-2,0,3","2,0,3","-3,0,-1","3,0,-1","-3,0,3","3,0,3","-3,0,4","3,0,4","-3,0,-2","3,0,-2","-4,0,-2","4,0,-2","-4,0,4","4,0,4","-4,0,5","4,0,5","-4,0,-3","4,0,-3","-4,-3,5","-4,-3,4","-4,-3,-2","-4,-3,-3","-3,-3,4","-3,-3,3","-3,-3,-1","-3,-3,-2","-2,-3,3","-2,-3,2","-2,-3,1","-2,-3,0","-2,-3,-1","-1,-3,3","-1,-3,-1","0,-3,3","0,-3,0","0,-3,-1","1,-3,3","1,-3,-1","2,-3,3","2,-3,2","2,-3,1","2,-3,0","2,-3,-1","3,-3,4","3,-3,3","3,-3,-1","3,-3,-2","4,-3,5","4,-3,4","4,-3,-2","4,-3,-3","5,0,5","-5,0,5","5,0,-3","-5,0,-3","5,-3,-3","-5,-3,-3","5,-3,5","-5,-3,5","3,-1,-4","3,-1,-3","2,-1,-2","3,-1,2","3,-1,3","1,-1,4","2,-1,4","3,-1,4","4,-1,4","3,-1,5","-3,-1,2","-3,-1,3","-4,-1,4","-3,-1,4","-2,-1,4","-1,-1,4","-3,-1,5","-3,-1,-4","-3,-1,-3","-4,-1,-2","-3,-1,-2","-2,-1,-2","-1,-1,-2","-3,-1,0","0,-1,-1","0,-2,-2","0,-2,-1","0,-1,-2","-5,-1,-3","5,-1,-3","-5,-2,-3","5,-2,-3","-5,-2,5","5,-2,5","-5,-1,5","5,-1,5","6,-1,4","-6,-1,4","6,-1,-2","-6,-1,-2","-5,-1,-2","5,-1,-2","5,-1,4","-5,-1,4","-6,-2,-2","6,-2,-2","-6,-2,4","6,-2,4","4,-1,7","-1,-1,7","-1,-1,-5","-2,-1,7","-3,-1,7","-3,-1,-5","4,-2,7","3,-2,7","-4,-2,7","-4,-1,7","-4,-1,-5","6,-2,1","-6,-2,1","-2,-2,-5","2,-2,-5","-3,-2,7","1,-2,7","-1,-2,7","-2,-2,1","2,-2,1","4,-2,1","-3,-1,6","3,-1,6","1,-1,6","1,-1,-4","-1,-1,6","-1,-1,-4","-5,-1,2","-5,-1,0","5,-1,0","5,-1,2","0,-4,1","0,-1,-4","0,-1,6","-5,-1,1","5,-1,1","2,-1,6","-2,-1,6","2,-1,-4","-2,-1,-4","-4,-1,5","4,-1,5","-4,-1,3","4,-1,3","4,-1,2","4,-1,0","-4,-1,-1","4,-1,-1","-1,-3,1","1,-3,1","-6,-1,1","6,-1,1","0,-1,-5","0,-1,7","1,-1,7","2,-1,7","3,-1,7","6,-1,2","-6,-1,2","6,-1,0","-6,-1,0","3,-1,-5","4,-1,-5","-2,-1,-1","-1,-2,-1","1,-2,-1","2,-1,-1","3,-2,-1","2,-2,-1","1,-2,-2","3,-2,-2","-1,-2,-2","-1,-1,2","-1,-2,1","-1,-1,1","-1,0,1","-1,-1,0","0,-2,2","0,-1,2","0,0,2","0,-2,1","0,-1,1","0,0,1","0,-2,0","0,-1,0","0,0,0","1,0,1","1,-1,0","4,-2,2","4,-2,0","-2,-2,0","2,-2,0","-2,-1,0","-1,-1,-1","1,-1,-1","-1,-1,3","1,-1,3","-2,-1,2","2,-1,2","-3,-2,4","3,-2,4","4,-2,-2","-4,-2,-2","0,-2,6","5,-2,1","4,-2,-1","-3,-2,2","3,-2,2","2,-1,5","-2,-1,5","-2,-1,-3","2,-1,-3","-5,-2,-2","5,-2,-2","5,-2,4","-4,-1,-4","4,-1,-4","-5,-1,-1","5,-1,-1","-5,-1,3","5,-1,3","-4,-1,6","4,-1,6","-4,-2,6","4,-2,6","-3,-2,-5","3,-2,-5","0,-2,-5","-1,-2,-5","-2,-2,-4","2,-2,-4","1,-2,-4","-2,-2,7","2,-2,7","-4,-2,-4","4,-2,-4","-4,-2,-5","4,-2,-5","-4,-2,3","4,-2,3","0,-1,3","0,-2,3","-4,-1,-3","4,-1,-3","2,-2,-3","2,-2,-2","-3,-2,-3","-1,-2,-3","3,-2,-3","1,-2,-3","6,-2,2","6,-2,0","-6,-2,0","6,-1,3","-6,-1,3","6,-2,3","6,-2,-1","-6,-2,-1","6,-1,-1","-6,-1,-1","0,-2,-3","0,-2,4","0,-2,7","0,-2,5","-1,-3,0","1,-3,0","-1,-3,2","1,-3,2","1,-1,-3","-2,-1,-5","2,-1,-5","1,1,1","1,1,0","1,1,2","-3,-2,3","3,-2,3","-2,-2,-3","-1,-2,-4","-4,-2,-1","-3,-2,-2","-4,-2,0","-2,-2,-2","0,-2,-4","-3,-2,-1","-2,-2,-1","-6,-2,2","-4,-1,0","-4,-1,2","-6,-2,3","-3,-1,-1","-5,-2,1","-4,-2,1","-5,-2,4","-4,-2,2","1,-1,2","1,-2,1","1,0,-1","1,-1,-2","3,-1,-1","2,-1,0","1,-1,1","3,-1,-2","4,-1,-2","3,-1,0","0,1,2","1,-2,-5","1,-1,-5","-1,1,2","0,1,1","0,1,0","-1,1,1","-1,1,0"],"BLR":[0,0,0,3,1,3,1,3,1,2,2,2,2,0,0,3,1,3,1,0,0,2,2,3,1,3,1,0,0,2,2,12,15,15,14,12,15,15,14,12,15,15,15,14,12,14,12,12,14,12,14,12,13,13,13,14,12,13,13,14,12,13,13,14,0,0,17,19,14,14,16,18,13,13,14,13,13,14,14,15,12,15,13,13,14,15,12,12,15,13,13,14,15,12,12,15,0,0,9,0,19,17,19,17,18,16,18,16,9,11,17,19,14,12,12,14,7,5,18,16,8,8,10,8,8,10,20,4,4,21,23,13,15,0,0,4,4,4,3,1,1,15,15,0,2,0,2,3,3,1,1,15,6,4,7,5,14,14,14,14,0,0,0,0,0,0,0,0,0,0,3,1,2,8,8,8,8,9,11,9,11,10,10,20,4,8,20,4,4,8,4,4,8,8,11,6,10,9,8,7,10,10,10,11,10,5,4,10,1,1,19,17,11,10,10,4,4,7,5,8,8,4,4,6,6,1,3,1,10,10,10,10,0,0,2,0,0,0,0,0,0,0,0,1,3,0,0,14,0,0,0,0,4,4,1,3,0,0,21,20,12,0,0,0,4,4,8,4,4,8,5,5,7,3,1,3,3,1,3,1,0,0,4,8,0,0,0,0,15,10,10,9,2,1,1,3,4,0,3,8,3,4,6,8,4,7,0,0,1,15,6,3,2,3,8,10,2,14,15,9,9,15,12,15,8,0,10,3,10,10,11,2],"BP1":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,50,100,175","0,0,0,0","0,0,0,5","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0.15,1,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,0","0,0,1,0","0,0,1,0","0,0,1,0","0,0,0,0","0,0,0,0","14,9,82,51","30,18,170,51","29,18,170,51","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,1,1","0,0,0,0","0,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,1,1","0,0,0,0","0,0,0,0","0,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,1,1","0,0,1,1","0,0,1,3","0,0,1,3","0,0,1,3","0,0,1,3","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","26,9,80,51","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","3,1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","3,1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","3,1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","120,1250,625,45","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,-1,-1,-1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","4000,0,0,0","80,0,0,0","60,7,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,1,1","0,0,0,0","5000,0,8,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","3,1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,31,31,31,31,31,31,31,31,30,30,30,30,30,31,31,30,31,9,9,31,9,1,1,1,9,1,1,1,1,1,1,1,9,1,1,1,9,31,9,9,31,30,31,31,30,30,30,30,30,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,0,0,0,0,0,0,0,1,1,9,9,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,9,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,0,0,9,9,9,9,0,0,9,9,0,0,1,1,9,9,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,9,9,9,9,9,9,9,0,0,1,0,1,1,1,1,0,9,9,1,1,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,9,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1],"BEI":[79.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,85.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,92.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,96.0,22.0,8787901.0,0.0,2.0,14.0,82.0,101.0,112.0,97.0,105.0,114.0,32.0,68.0,105.0,115.0,99.0,32.0,65.0,73.0,1.0,1.0,2.0,9798002.0,133.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,134.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,223.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.0,15.0,15.0,3.5,0.0,30.0,0.0,9798001.0,224.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.0,15.0,15.0,3.5,-30.0,0.0,0.0,9798001.0,225.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,226.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,227.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,228.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.2,10.0,10.0,3.0,16.0,16.0,0.0,9798001.0,229.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.2,10.0,10.0,3.0,-16.0,16.0,0.0,9798001.0,230.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.2,10.0,10.0,3.0,-16.0,-16.0,0.0,9798001.0,231.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.2,10.0,10.0,3.0,16.0,-16.0,0.0,9798001.0,245.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,246.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,248.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,256.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,257.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,260.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,264.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,273.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,274.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,275.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,276.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,277.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,278.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,279.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,296.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,298.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,302.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.0,15.0,15.0,3.5,0.0,-30.0,0.0,9798001.0,308.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,310.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,2.0,15.0,15.0,3.5,30.0,0.0,0.0,9798001.0,321.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,325.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0],"designChanged":false,"blueprintVersion":10,"blueprintName":"Qufo","Id":463941,"Name":"Qufo","ItemNumber":145,"Parameter1":"0.9,0.9,0.5,0","Parameter2":"41,2,1,2","LocalPosition":"0,1,-59","LocalRotation":"0,1,0,0","ForceId":318934241,"TotalBlockCount":332,"LastAliveBlock":332,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"6,1,7","MinCords":"-6,-4,-5","BlockIds":[578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,579,579,579,579,579,579,579,579,577,577,577,577,577,577,577,577,577,577,577,577,579,579,579,579,578,578,578,578,578,578,578,578,572,578,578,578,578,578,578,578,578,579,579,579,579,577,577,577,577,597,603,597,603,597,603,597,603,53,53,53,53,53,53,53,55,53,53,53,53,53,55,53,53,53,53,53,53,55,53,53,53,16,0,12,261,577,577,577,577,577,577,577,577,588,594,588,594,53,53,53,53,594,588,594,588,594,576,576,576,576,576,594,576,594,594,588,576,576,69,69,576,576,576,326,326,327,53,53,251,251,251,251,251,251,251,251,172,267,267,267,267,251,251,251,251,83,83,83,83,83,83,83,83,424,424,576,576,576,576,576,576,576,576,576,576,576,576,588,53,53,53,53,53,54,53,53,53,198,219,201,220,198,219,201,220,203,200,195,219,201,220,220,198,337,337,266,266,217,217,217,217,217,217,217,171,171,171,171,270,270,249,249,249,270,270,270,270,461,461,461,423,423,423,423,423,423,423,423,573,573,69,69,576,69,424,424,424,576,576,571,571,69,69,266,266,60,353,83,83,55,54,53,53,53,53,576,576,576,69,69,69,69,69,69,69,275,275,576,560,424,424,424,424,475,576,576,465,483,483,613,613,55,424,249,53,337,54,270,53,54,576,83,83,69,53,270,327,461,337,198,219,578,53,53,217,201,55,53,53,465,69,576,477,204,465,465,477],"BlockStringData":["-- Generated from ZerothAngel's FtDScripts version b27ba65169de\r\n-- Modules: repairquad, repair-ai, waypointmove, quadraticintercept, quadraticsolver, avoidance, getbearingtopoint, getvectorangle, spairs, planarvector, yawthrottle, spinnercontrol, normalizebearing, propulsionapi, altitudecontrol, terraincheck, evasion, manualcontroller, componenttypes, threedofspinner, pid, sign, periodic, firstrun, commons\r\n\r\n-- CONFIGURATION\r\n\r\n-- Activate on these AI modes. Valid keys are \"off\", \"on\", \"combat\",\r\n-- \"patrol\", and \"fleetmove\".\r\nActivateWhen = {\r\n--   on = true,\r\n   combat = true,\r\n   fleetmove = true,\r\n}\r\n\r\n-- How often to run. At 1, it will run every update. At 10,\r\n-- it will run every 10th update. The lower it is, the more\r\n-- responsive it will be, but it will also take more processing time.\r\nAI_UpdateRate = 4\r\nQuadcopter_UpdateRate = 4\r\n\r\n-- Offset from repair target's center of mass.\r\n-- Note the Y value is ignored.\r\nRepairTargetOffset = Vector3(10, 0, 25)\r\n\r\n-- When considering other repair targets, they must\r\n-- be within this distance and within this altitude range\r\nRepairTargetMaxDistance = 1500\r\nRepairTargetMaxParentDistance = 2500\r\nRepairTargetMaxAltitudeDelta = 100\r\n-- And have health equal to or below this fraction\r\nRepairTargetMaxHealthFraction = 0.99\r\n-- And have health equal to or above this fraction\r\nRepairTargetMinHealthFraction = 0.25\r\n\r\n-- Repair targets are scored according to\r\n-- Distance * DistanceWeight + ParentDistance * ParentDistanceWeight +\r\n--   Damage * DamageWeight\r\n-- Where Distance is this ship's distance from the target\r\n-- ParentDistance is the target's distance from the parent\r\n-- Damage is 1.0 - HealthFraction\r\nDistanceWeight = 0\r\nParentDistanceWeight = 0\nDamageWeight = 100.0\r\n-- Parent's score multiplied by this bonus (or penalty if <1)\r\nParentBonus = 1\r\n\r\n-- Return-to-origin settings\r\nReturnToOrigin = false\r\n\r\n-- WAYPOINT MOVE SETTINGS\r\n\r\nWaypointMoveConfig = {\r\n   -- Maximum distance from stationary waypoints.\r\n   -- If further than this, set throttle to ClosingDrive (below).\r\n   -- Should be comparable to ship's turning radius.\r\n   MaxDistance = 250,\r\n   -- If farther away than this from a moving waypoint, set throttle\r\n   -- to ClosingDrive (below).\r\n   ApproachDistance = 100,\r\n   -- Throttle when distance from waypoint is >ApproachDistance.\r\n   ClosingDrive = 1,\r\n   -- Speed relative to waypoint in meters per second when within\r\n   -- ApproachDistance. Our speed will be the waypoint speed +/- this.\r\n   RelativeApproachSpeed = 1,\r\n   -- Minimum speed in meters per second when within ApproachDistance.\r\n   -- Probably not a good idea for hydrofoil-based subs to stop.\r\n   -- If nil, it will use the script's default, which is 0 in most cases.\r\n   MinimumSpeed = nil,\r\n   -- Constants for throttle PID, used when within ApproachDistance.\r\n   ThrottlePIDConfig = {\r\n      Kp = .01,\r\n      Ti = 0,\r\n      Td = .125,\r\n   },\r\n}\r\n\r\n-- AVOIDANCE CONFIGURATION\r\n\r\n-- How much clearance to require above and below when avoiding\r\n-- terrain and friendlies.\r\n-- Ship's height is multiplied by this and then centered around\r\n-- the ship's physical midpoint (not necessarily the center of mass).\r\n-- ClearanceFactor of 1 means to check exactly the ship's lower\r\n-- and upper bounds.\r\n-- Rotations (pitch, roll) are not accounted for, so it's best to\r\n-- have some padding.\r\nClearanceFactor = 1.5\n\r\n-- FRIENDLY AVOIDANCE\r\n\r\n-- Distance to check for friendlies. Friendlies beyond this\r\n-- distance are ignored.\r\nFriendlyCheckDistance = 500\r\n\r\n-- Each of the following has two numbers:\r\n-- The first is a duration of time in seconds. If a collision\r\n-- looks imminent within this time, it will turn away.\r\n-- The second is the absolute minimum distance to be from friendlies.\r\nFriendlyAvoidanceCombat = { 20, 100 }\r\nFriendlyAvoidanceIdle = { 10, 100 }\r\n\r\n-- Friendly avoidance weight. Generally should be >1.\r\n-- Set to 0 to disable friendly avoidance.\r\n-- Greater number means it will begin to turn away sooner.\r\nFriendlyAvoidanceWeight = 15\r\n\r\n-- TERRAIN AVOIDANCE\r\n\r\n-- How many seconds ahead (at current speed) to sample\r\n-- the terrain.\r\n-- At minimum, it should be the time it takes for your ship to\r\n-- complete a 90-degree turn.\r\nLookAheadTime = 20\r\n\r\n-- Look-ahead resolution, in meters. The smaller it is, the more\r\n-- samples of the terrain will be taken.\r\n-- Probably shouldn't be larger than the length of your ship.\r\n-- Set to nil to automatically use a quarter of your ship's length.\r\nLookAheadResolution = nil\r\n\r\n-- When there's an obstacle in front, this is how far (in degrees)\r\n-- left and right to check for an opening. Should probably be <45\r\nLookAheadAngle = 30\r\n\r\n-- By default, the horizontal midpoint and both sides of the ship\r\n-- (after accounting for ClearanceFactor) are extended forward\r\n-- and used to check the terrain. If you have a particularly\r\n-- wide ship, you may want to check more points. Use this to\r\n-- increase the number of subdivisions between the midpoint and\r\n-- the sides. Set to 0 for no extra points, 1 for 1 extra\r\n-- between midpoint and side (so 2 additional total), etc.\r\n-- Don't go too crazy, because it will increase the number of\r\n-- terrain checks dramatically.\r\nTerrainAvoidanceSubdivisions = 0\r\n\r\n-- Terrain avoidance weight. Should be >1, set to 0 to disable.\r\n-- Greater number means it will begin to turn away sooner.\r\nTerrainAvoidanceWeight = 100\r\n\r\n-- YAW & PROPULSION\r\n\r\n-- Yaw PID controller settings\r\n-- These default values have worked well for me on\r\n-- a variety of ships. YMMV.\r\n-- { 1, 0, 0 } is a good (but rough) starting point.\r\nYawPIDConfig = {\r\n   Kp = 0.25,\r\n   Ti = 0,\r\n   Td = 0.4,\r\n}\r\n\r\n-- To use forward (or reverse!) spinners as propulsion,\r\n-- set either or both of the following options to true.\r\nUseSpinners = false\r\nUseDediBlades = true\r\n\r\n-- ALTITUDE CONTROL\r\n\r\n-- Switch to manual altitude control on these AI modes. Valid keys are \"off\",\r\n-- \"on\", \"combat\", \"patrol\", and \"fleetmove\".\r\n-- Only used when ManualAltitudeDriveMaintainerFacing below is non-nil.\r\nManualAltitudeWhen = {\r\n   off = true,\r\n   on = true,\r\n   combat = true,\r\n   patrol = true,\r\n   fleetmove = true,\r\n}\r\n\r\n-- Manual altitude control (optional, default disabled)\r\n-- Set the following to an axis-aligned unit Vector3, i.e. Vector3.forward,\r\n-- Vector3.up, Vector3.left, etc.\r\n-- Then place a drive maintainer block facing that direction. It should be the\r\n-- only drive maintainer facing that direction.\r\nManualAltitudeDriveMaintainerFacing = nil\r\n\r\n-- Determines scaling for manual altitude control. -1.0 throttle on the\r\n-- drive maintainer means 0 altitude, 1.0 throttle means MaxManualAltitude.\r\n-- Only used when ManualAltitudeDriveMaintainerFacing above is non-nil.\r\nMaxManualAltitude = 400\r\n\r\n-- If false, your desired altitudes are relative to\r\n-- the ground (or sea level, if over water)\r\n-- If true, then no terrain checking will be done.\r\nAbsoluteAltitude = false\r\n\r\n-- Desired altitudes\r\nDesiredAltitudeCombat = 300\r\nDesiredAltitudeIdle = 300\r\n\r\n-- Only used when AbsoluteAltitude is false AND TerrainCheckLookAheadTime\r\n-- (see below) is nil.\r\n-- This helps determine look ahead distance.\r\n-- Think of it as the tallest obstacle the terrain checker will try to\r\n-- fly over.\r\nMaxAltitude = 400\r\n\r\n-- First number is altitude variation\r\n-- Second is time scale, which should generally be <1.\r\n-- Smaller is slower.\r\n-- Set to nil to disable, e.g. Evasion = nil\r\nEvasion = { 25, .5 }\r\n\r\n-- Whether or not to apply the above evasion settings when under manual control.\r\nManualEvasion = true\r\n\r\n-- TERRAIN CHECKING\r\n\r\n-- How many seconds to look ahead, in terms of velocity.\r\n-- Generally depends on your maximum vertical speed. The slower you\r\n-- move vertically, the farther you should look ahead.\r\n-- However, if your normal AI has any sort of terrain checking, this\r\n-- should probably look farther than it.\r\n-- Set to nil to base dynamically on the current altitude/depth.\r\n-- You should also make sure TerrainCheckVerticalSpeed is accurate\r\n-- below.\r\nTerrainCheckLookAheadTime = 30\r\n\r\n-- Look-ahead resolution, in meters. The smaller it is, the more\r\n-- samples of the terrain will be taken.\r\n-- Probably shouldn't be larger than the length of your ship.\r\n-- Set to nil to automatically use half your ship's length.\r\nTerrainCheckResolution = nil\r\n\r\n-- By default, the horizontal midpoint and both sides of the ship\r\n-- are extended forward and used to check the terrain.\r\n-- If you have a particularly wide ship, you may want to check\r\n-- more points. Use this to increase the number of subdivisions\r\n-- between the midpoint and the sides. Set to 0 for no extra\r\n-- points, 1 for 1 extra between midpoint and side (so 2\r\n-- additional total), etc. Don't go too crazy, because it will\r\n-- increase the number of terrain checks dramatically.\r\nTerrainCheckSubdivisions = 0\r\n\r\n-- Maximum vertical speed. Only used when TerrainCheckLookAheadTime\r\n-- above is nil.\r\n-- Set to nil to determine dynamically.\r\n-- If you know the performance characteristics of your ship, it's\r\n-- recommended you set this rather than leave it to be determined.\r\n-- The starting max vertical speed is 1 m/s, which will lead to\r\n-- very far look ahead distances (until the actual vertical speed\r\n-- is determined).\r\nTerrainCheckMaxVerticalSpeed = nil\r\n\r\n-- When determining look ahead time dynamically, the remaining altitude\r\n-- (= max altitude - current altitude) is multiplied by this before\r\n-- dividing by the max vertical speed.\r\n-- Should be slightly >1 to provide a buffer.\r\nTerrainCheckBufferFactor = 1.05\r\n\r\n-- 3DOF SPINNER CONFIGURATION\r\n\r\n-- Switches to enable/disable control of each axis.\r\nControlRoll = true\r\nControlPitch = true\r\n\r\n-- PID values\r\nAltitudePIDConfig = {\r\n   Kp = 5,\r\n   Ti = 5,\r\n   Td = .3,\r\n}\r\nPitchPIDConfig = {\r\n   Kp = 5,\r\n   Ti = 5,\r\n   Td = .3,\r\n}\r\nRollPIDConfig = {\r\n   Kp = .5,\r\n   Ti = 5,\r\n   Td = .3,\r\n}\r\n\r\n-- The weird thing about dedicated heliblade spinners is that \"always up\"\r\n-- only means \"up\" when rotating clockwise. When oriented upside down,\r\n-- they don't behave in the expected/intuitive way. You have to rotate\r\n-- it clockwise rather than counter-clockwise as you would when the\r\n-- \"always up fraction\" is 0.\r\n-- Set to true if the dedicated heliblade spinners have a positive\r\n-- \"always up fraction.\" Note that Lua scripts can't read this value, so\r\n-- it is best to set it on the spinner to 1 or 0.\r\nDediBladesAlwaysUp = false\r\n\r\n-- COMMONS SETTINGS\r\n\r\nCommons = {\r\n   -- Preferred mainframe indexes for target priority.\r\n   -- Once a mainframe is successfully queried, the rest are ignored.\r\n   -- First mainframe (in \"C\" screen) = 0, 2nd = 1, etc.\r\n   -- The last one in the list should always be 0.\r\n   -- For example, to query the 2nd, 3rd, and 1st (in that order), set\r\n   -- to { 1, 2, 0 }\r\n   PreferredTargetMainframes = { 0 },\r\n\r\n   -- Maximum range for an enemy to still be considered a threat.\r\n   MaxEnemyRange = 10000,\r\n}\r\n\r\n-- COMPONENT TYPES (don't change)\r\n\r\n-- luacheck: push ignore 131\r\nBALLOON = 0 -- boolean\r\nDRIVEMAINTAINER = 1 -- float\r\nAIRPUMP = 2 -- float/bool\r\nRESOURCEGATHERER = 3 -- boolean\r\nOILDRILL = 4 -- boolean\r\nAMMOPROCESSOR = 5 -- boolean\r\nOILPROCESSOR = 6 -- boolean\r\nTRACTORBEAM = 7 -- boolean\r\nHYDROFOIL = 8 -- float\r\nPROPULSION = 9 -- float\r\nSHIELDPROJECTOR = 10 -- float/int\r\nHELIUMPUMP = 11 -- float/bool\r\n-- luacheck: pop\r\n\r\n-- PROPULSION API CONSTANTS (don't change)\r\n\r\n-- luacheck: push ignore 131\r\nWATER = 0\r\nLAND = 1\r\nAIR = 2\r\n\r\nYAWLEFT = 0\r\nYAWRIGHT = 1\r\nROLLLEFT = 2\r\nROLLRIGHT = 3\r\nNOSEUP = 4\r\nNOSEDOWN = 5\r\nINCREASE = 6\r\nDECREASE = 7\r\nMAINPROPULSION = 8\r\n-- luacheck: pop\r\n\r\n-- Control mode. Set to WATER, LAND, or AIR.\r\n-- Change accordingly for helicopters/thrustercraft\r\n-- Note that altitude must be controlled by some other means\r\nMode = AIR\r\n\r\n-- !!! CODE BEGINS HERE, EDIT AT YOUR OWN RISK !!!\r\n\r\n-- Commons module\r\n\r\n-- The one global that holds the Commons instance.\r\n-- A new instance MUST be instantiated every update.\r\nC = nil\r\n\r\n-- Presumably, calling a Lua binding is slow, especially methods\r\n-- that return tables. Only call API when we need something and cache\r\n-- the result for the lifetime of the instance.\r\nfunction Commons.create(I, AttackSalvage)\r\n   local self = {}\r\n\r\n   self.I = I\r\n   self.AttackSalvage = AttackSalvage\r\n\r\n   -- Can't implement \"properties\" because no metatable\r\n   -- Since everything is read-only anyway, we'll just implement\r\n   -- everything as lazy-init instance getters.\r\n\r\n   -- Time\r\n   self.Now = Commons.Now\r\n\r\n   -- Miscellaneous\r\n   self.IsDocked = Commons.IsDocked\r\n\r\n   -- Position and attitude\r\n   self.Position = Commons.Position\r\n   self.CoM = Commons.CoM\r\n   self.Altitude = Commons.Altitude\r\n   self.Yaw = Commons.Yaw\r\n   self.Pitch = Commons.Pitch\r\n   self.Roll = Commons.Roll\r\n\r\n   -- Velocity\r\n   self.Velocity = Commons.Velocity\r\n   self.ForwardSpeed = Commons.ForwardSpeed\r\n\r\n   -- Orientation\r\n   self.ForwardVector = Commons.ForwardVector\r\n   self.UpVector = Commons.UpVector\r\n   self.RightVector = Commons.RightVector\r\n   self.ToGlobal = Commons.ToGlobal\r\n   self.ToLocal = Commons.ToLocal\r\n\r\n   -- Weapon controllers\r\n   self.HullWeaponControllers = Commons.HullWeaponControllers\r\n   self.TurretWeaponControllers = Commons.TurretWeaponControllers\r\n   self.WeaponControllers = Commons.WeaponControllers\r\n\r\n   -- Targets\r\n   self.GatherTargets = Commons.GatherTargets -- Private\r\n   self.FirstTarget = Commons.FirstTarget\r\n   self.Targets = Commons.Targets\r\n\r\n   -- Maybe friendlies too...?\r\n\r\n   return self\r\nend\r\n\r\nfunction Commons:Now()\r\n   if not self._Now then\r\n      self._Now = self.I:GetTimeSinceSpawn()\r\n   end\r\n   return self._Now\r\nend\r\n\r\nfunction Commons:IsDocked()\r\n   if not self._IsDocked then\r\n      self._IsDocked = self.I:IsDocked()\r\n   end\r\n   return self._IsDocked\r\nend\r\n\r\nfunction Commons:Position()\r\n   if not self._Position then\r\n      self._Position = self.I:GetConstructPosition()\r\n   end\r\n   return self._Position\r\nend\r\n\r\nfunction Commons:CoM()\r\n   if not self._CoM then\r\n      self._CoM = self.I:GetConstructCenterOfMass()\r\n   end\r\n   return self._CoM\r\nend\r\n\r\nfunction Commons:Altitude()\r\n   return self:CoM().y\r\nend\r\n\r\nfunction Commons:Yaw()\r\n   if not self._Yaw then\r\n      self._Yaw = self.I:GetConstructYaw()\r\n   end\r\n   return self._Yaw\r\nend\r\n\r\nfunction Commons:Pitch()\r\n   if not self._Pitch then\r\n      local Pitch = self.I:GetConstructPitch()\r\n      if Pitch > 180 then\r\n         Pitch = 360 - Pitch\r\n      else\r\n         Pitch = -Pitch\r\n      end\r\n      self._Pitch = Pitch\r\n   end\r\n   return self._Pitch\r\nend\r\n\r\nfunction Commons:Roll()\r\n   if not self._Roll then\r\n      local Roll = self.I:GetConstructRoll()\r\n      if Roll > 180 then\r\n         Roll = Roll - 360\r\n      end\r\n      self._Roll = Roll\r\n   end\r\n   return self._Roll\r\nend\r\n\r\nfunction Commons:Velocity()\r\n   if not self._Velocity then\r\n      self._Velocity = self.I:GetVelocityVector()\r\n   end\r\n   return self._Velocity\r\nend\r\n\r\nfunction Commons:ForwardSpeed()\r\n   if not self._ForwardSpeed then\r\n      self._ForwardSpeed = self.I:GetForwardsVelocityMagnitude()\r\n   end\r\n   return self._ForwardSpeed\r\nend\r\n\r\nfunction Commons:ForwardVector()\r\n   if not self._ForwardVector then\r\n      self._ForwardVector = self.I:GetConstructForwardVector()\r\n   end\r\n   return self._ForwardVector\r\nend\r\n\r\nfunction Commons:UpVector()\r\n   if not self._UpVector then\r\n      self._UpVector = self.I:GetConstructUpVector()\r\n   end\r\n   return self._UpVector\r\nend\r\n\r\nfunction Commons:RightVector()\r\n   if not self._RightVector then\r\n      self._RightVector = self.I:GetConstructRightVector()\r\n   end\r\n   return self._RightVector\r\nend\r\n\r\nfunction Commons:ToGlobal()\r\n   if not self._ToGlobal then\r\n      self._ToGlobal = Quaternion.LookRotation(self:ForwardVector(), self:UpVector())\r\n   end\r\n   return self._ToGlobal\r\nend\r\n\r\nfunction Commons:ToLocal()\r\n   if not self._ToLocal then\r\n      self._ToLocal = Quaternion.Inverse(self:ToGlobal())\r\n   end\r\n   return self._ToLocal\r\nend\r\n\r\nfunction Commons.AddWeapon(Weapons, WeaponInfo, TurretIndex, WeaponIndex)\r\n   local Weapon = {\r\n      Index = WeaponIndex,\r\n      TurretIndex = TurretIndex,\r\n      Type = WeaponInfo.WeaponType,\r\n      Slot = WeaponInfo.WeaponSlot,\r\n      Position = WeaponInfo.GlobalPosition,\r\n      Speed = WeaponInfo.Speed,\r\n      PlayerControl = WeaponInfo.PlayerCurrentlyControllingIt,\r\n   }\r\n   table.insert(Weapons, Weapon)\r\nend\r\n\r\nfunction Commons:HullWeaponControllers()\r\n   if not self._HullWeaponControllers then\r\n      local Weapons = {}\r\n      for windex = 0,self.I:GetWeaponCount()-1 do\r\n         local Info = self.I:GetWeaponInfo(windex)\r\n         Commons.AddWeapon(Weapons, Info, nil, windex)\r\n      end\r\n      self._HullWeaponControllers = Weapons\r\n   end\r\n   return self._HullWeaponControllers\r\nend\r\n\r\nfunction Commons:TurretWeaponControllers()\r\n   if not self._TurretWeaponControllers then\r\n      local Weapons = {}\r\n      for tindex = 0,self.I:GetTurretSpinnerCount()-1 do\r\n         for windex = 0,self.I:GetWeaponCountOnTurretOrSpinner(tindex)-1 do\r\n            local Info = self.I:GetWeaponInfoOnTurretOrSpinner(tindex, windex)\r\n            Commons.AddWeapon(Weapons, Info, tindex, windex)\r\n         end\r\n      end\r\n      self._TurretWeaponControllers = Weapons\r\n   end\r\n   return self._TurretWeaponControllers\r\nend\r\n\r\nfunction Commons:WeaponControllers()\r\n   if not self._WeaponControllers then\r\n      local Weapons = {}\r\n      for _,Weapon in pairs(self:HullWeaponControllers()) do\r\n         table.insert(Weapons, Weapon)\r\n      end\r\n      for _,Weapon in pairs(self:TurretWeaponControllers()) do\r\n         table.insert(Weapons, Weapon)\r\n      end\r\n      self._WeaponControllers = Weapons\r\n   end\r\n   return self._WeaponControllers\r\nend\r\n\r\nfunction Commons.ConvertTarget(Index, TargetInfo, Offset, Range)\r\n   local Target = {\r\n      Id = TargetInfo.Id,\r\n      Index = Index,\r\n      Position = TargetInfo.Position,\r\n      Offset = Offset,\r\n      Range = Range,\r\n      SqrRange = Range * Range,\r\n      AimPoint = TargetInfo.AimPointPosition,\r\n      Velocity = TargetInfo.Velocity,\r\n   }\r\n   return Target\r\nend\r\n\r\nfunction Commons:GatherTargets(Targets, StartIndex, MaxTargets)\r\n   local CoM = self:CoM()\r\n   local AttackSalvage = self.AttackSalvage\r\n   -- Query mainframes in the preferred order\r\n   for _,mindex in pairs(Commons.PreferredTargetMainframes) do\r\n      local TargetCount = self.I:GetNumberOfTargets(mindex)\r\n      if TargetCount > 0 then\r\n         if not StartIndex then StartIndex = 0 end\r\n         if not MaxTargets then MaxTargets = math.huge end\r\n         for tindex = StartIndex,TargetCount-1 do\r\n            if #Targets >= MaxTargets then break end\r\n            local TargetInfo = self.I:GetTargetInfo(mindex, tindex)\r\n            -- Will probably never not be valid, but eh, check anyway\r\n            if TargetInfo.Valid and (TargetInfo.Protected or AttackSalvage) then\r\n               local Offset = TargetInfo.Position - CoM\r\n               local Range = Offset.magnitude\r\n               if Range <= Commons.MaxEnemyRange then\r\n                  table.insert(Targets, Commons.ConvertTarget(tindex, TargetInfo, Offset, Range))\r\n               end\r\n            end\r\n         end\r\n         -- Whether or not we actually added new targets, we have a definitive\r\n         -- answer.\r\n         -- All AIs see the same targets, so stop after one has been\r\n         -- successfully queried.\r\n         -- Note can't distinguish between non-existant mainframe\r\n         -- and no targets.\r\n         break\r\n      end\r\n   end\r\nend\r\n\r\nfunction Commons:FirstTarget()\r\n   if not self._FirstTarget then\r\n      -- Did we already gather all targets?\r\n      if self._Targets then\r\n         -- Use first one\r\n         local Target = self._Targets[1]\r\n         self._FirstTarget = Target and { Target } or {}\r\n      else\r\n         -- Just fetch first target, if any\r\n         local Targets = {}\r\n         self:GatherTargets(Targets, 0, 1)\r\n         self._FirstTarget = Targets\r\n      end\r\n   end\r\n   -- Note self._FirstTarget is a table of at most size 1, which allows it\r\n   -- to be distinguished between uninitialized and no target.\r\n   return self._FirstTarget[1]\r\nend\r\n\r\nfunction Commons:Targets()\r\n   if not self._Targets then\r\n      local Targets = {}\r\n      -- Do we have a first target already?\r\n      if self._FirstTarget then\r\n         local Target = self._FirstTarget[1]\r\n         if not Target then\r\n            -- First target was already set, but there is no target.\r\n            -- Definitely no more beyond that.\r\n            self._Targets = {}\r\n            return self._Targets\r\n         end\r\n         -- Copy the first target\r\n         table.insert(Targets, Target)\r\n         -- And continue off after first target\r\n         self:GatherTargets(Targets, Target.Index+1)\r\n      else\r\n         -- Gather from start\r\n         self:GatherTargets(Targets, 0)\r\n      end\r\n      self._Targets = Targets\r\n   end\r\n   return self._Targets\r\nend\r\n\r\n-- FirstRun module\r\nFirstRunList = {}\r\n\r\nfunction FirstRun(I)\r\n   FirstRun = nil\r\n\r\n   for _,Function in pairs(FirstRunList) do\r\n      Function(I)\r\n   end\r\nend\r\n\r\nfunction AddFirstRun(Function)\r\n   table.insert(FirstRunList, Function)\r\nend\r\n\r\n-- Periodic implementation\r\nPeriodic = {}\r\n\r\nfunction Periodic.create(Period, Function, Start)\r\n   local self = {}\r\n\r\n   self.Ticks = Start and Start or Period\r\n   self.Period = Period\r\n   self.Function = Function\r\n\r\n   if Period then\r\n      self.Tick = Periodic.Tick\r\n   else\r\n      -- If Period is nil, Tick does nothing\r\n      self.Tick = function (_, _) end\r\n   end\r\n\r\n   return self\r\nend\r\n\r\nfunction Periodic:Tick(I)\r\n   local Ticks = self.Ticks\r\n   Ticks = Ticks + 1\r\n   if Ticks >= self.Period then\r\n      self.Ticks = 0\r\n      self.Function(I)\r\n   else\r\n      self.Ticks = Ticks\r\n   end\r\nend\r\n\r\n-- Returns sign of the argument.\r\n-- By default, returns 0 for 0, unlike Mathf.Sign which returns 1\r\nfunction Sign(n, ZeroSign)\r\n   if n > 0 then\r\n      return 1\r\n   elseif n < 0 then\r\n      return -1\r\n   else\r\n      return ZeroSign or 0\r\n   end\r\nend\r\n\r\n-- PID implementation\r\nPID = {}\r\n\r\nfunction PID.create(Config, Min, Max)\r\n   local self = {}\r\n   self.Kp = Config.Kp\r\n   if Config.Ti ~= 0 then\r\n      self.Ki = Config.Kp / Config.Ti\r\n   else\r\n      self.Ki = 0\r\n   end\r\n   self.Kd = Config.Kp * Config.Td\r\n   self.Integral = 0.0\r\n   self.LastError = 0.0\r\n   self.Min = Min\r\n   self.Max = Max\r\n\r\n   -- Due to lack of setmetatable\r\n   self.Control = PID.FirstControl\r\n\r\n   return self\r\nend\r\n\r\nfunction PID:Control(Error)\r\n   local Now = C:Now()\r\n   local dt = Now - self.LastTime\r\n   local Integral = self.Integral + Error * dt\r\n   local Derivative = (Error - self.LastError) / dt\r\n   self.LastError = Error\r\n   self.LastTime = Now\r\n\r\n   local CV = (self.Kp * Error) +\r\n      (self.Ki * Integral) +\r\n      (self.Kd * Derivative)\r\n\r\n   -- Windup prevention\r\n   if CV > self.Max then\r\n      if Integral <= self.Integral then self.Integral = Integral end\r\n      return self.Max\r\n   elseif CV < self.Min then\r\n      if Integral >= self.Integral then self.Integral = Integral end\r\n      return self.Min\r\n   end\r\n\r\n   self.Integral = Integral\r\n   return CV\r\nend\r\n\r\nfunction PID:FirstControl(_)\r\n   -- Call the real one next time\r\n   self.Control = PID.Control\r\n   -- Just set LastTime and return 0 for now\r\n   self.LastTime = C:Now()\r\n   return 0\r\nend\r\n\r\n-- 3DoF Spinner module (Altitude, Pitch, Roll)\r\nAltitudePID = PID.create(AltitudePIDConfig, -30, 30)\r\nPitchPID = PID.create(PitchPIDConfig, -30, 30)\r\nRollPID = PID.create(RollPIDConfig, -30, 30)\r\n\r\nDesiredAltitude = 0\r\nDesiredPitch = 0\r\nDesiredRoll = 0\r\n\r\nLastSpinnerCount = 0\r\nSpinners = {}\r\n\r\nfunction SetAltitude(Alt)\r\n   DesiredAltitude = Alt\r\nend\r\n\r\nfunction AdjustAltitude(Delta) -- luacheck: ignore 131\r\n   DesiredAltitude = C:Altitude() + Delta\r\nend\r\n\r\nfunction SetPitch(Angle) -- luacheck: ignore 131\r\n   DesiredPitch = Angle\r\nend\r\n\r\nfunction SetRoll(Angle) -- luacheck: ignore 131\r\n   DesiredRoll = Angle\r\nend\r\n\r\nfunction ThreeDoFSpinner_ClassifySpinners(I)\r\n   local SpinnerCount = I:GetSpinnerCount()\r\n   if SpinnerCount ~= LastSpinnerCount then\r\n      LastSpinnerCount = SpinnerCount\r\n      Spinners = {}\r\n\r\n      for i = 0,SpinnerCount-1 do\r\n         local IsDedi = I:IsSpinnerDedicatedHelispinner(i)\r\n         if IsDedi then -- TODO regular spinner support\r\n            local Info = I:GetSpinnerInfo(i)\r\n            local DotZ = (Info.LocalRotation * Vector3.up).y\r\n            if math.abs(DotZ) > .001 then\r\n               local CoMOffset = Info.LocalPositionRelativeToCom\r\n               local UpSign = DediBladesAlwaysUp and 1 or Sign(DotZ)\r\n               local Spinner = {\r\n                  Index = i,\r\n                  AltitudeSign = UpSign,\r\n                  PitchSign = UpSign * Sign(CoMOffset.z),\r\n                  RollSign = UpSign * Sign(CoMOffset.x),\r\n               }\r\n               table.insert(Spinners, Spinner)\r\n            end\r\n         end\r\n      end\r\n   end\r\nend\r\n\r\nfunction ThreeDoFSpinner_Update(I)\r\n   local AltitudeCV = AltitudePID:Control(DesiredAltitude - C:Altitude())\r\n   local PitchCV = ControlPitch and PitchPID:Control(DesiredPitch - C:Pitch()) or 0\r\n   local RollCV = ControlRoll and RollPID:Control(DesiredRoll - C:Roll()) or 0\r\n\r\n   ThreeDoFSpinner_ClassifySpinners(I)\r\n\r\n   for _,Info in pairs(Spinners) do\r\n      local Output = AltitudeCV * Info.AltitudeSign + PitchCV * Info.PitchSign + RollCV * Info.RollSign\r\n      Output = math.max(-30, math.min(30, Output))\r\n      I:SetSpinnerContinuousSpeed(Info.Index, Output)\r\n   end\r\nend\r\n\r\nfunction ThreeDoFSpinner_Disable(I)\r\n   ThreeDoFSpinner_ClassifySpinners(I)\r\n   for _,Info in pairs(Spinners) do\r\n      I:SetSpinnerContinuousSpeed(Info.Index, 0)\r\n   end\r\nend\r\n\r\n-- ManualController implementation\r\nManualController = {}\r\n\r\nfunction ManualController.create(Direction)\r\n   local self = {}\r\n\r\n   if Direction then\r\n      self.Direction = Direction\r\n      self.LastDriveMaintainerCount = 0\r\n      self.DriveMaintainerIndex = nil\r\n      self.LastReading = 0\r\n\r\n      self.GetReading = ManualController.GetReading\r\n   else\r\n      -- No Direction, no manual control\r\n      -- Set GetReading to dummy function\r\n      -- (it's best if it isn't called at all...)\r\n      self.GetReading = function (_, _) return 0 end\r\n   end\r\n\r\n   return self\r\nend\r\n\r\nfunction ManualController:GetReading(I)\r\n   local DriveMaintainerCount = I:Component_GetCount(DRIVEMAINTAINER)\r\n   if DriveMaintainerCount ~= self.LastDriveMaintainerCount then\r\n      -- Clear cached index\r\n      self.DriveMaintainerIndex = nil\r\n      self.LastDriveMaintainerCount = DriveMaintainerCount\r\n   end\r\n\r\n   local DriveMaintainerIndex = self.DriveMaintainerIndex\r\n   if not DriveMaintainerIndex then\r\n      -- Look for the first one facing the direction we want\r\n      local Direction = self.Direction\r\n      for i = 0,DriveMaintainerCount-1 do\r\n         local BlockInfo = I:Component_GetBlockInfo(DRIVEMAINTAINER, i)\r\n         if Vector3.Dot(BlockInfo.LocalForwards, Direction) > 0.001 then\r\n            DriveMaintainerIndex = i\r\n            self.DriveMaintainerIndex = DriveMaintainerIndex\r\n            break\r\n         end\r\n      end\r\n\r\n      if not DriveMaintainerIndex then\r\n         -- Still don't have one, just return last reading\r\n         return self.LastReading\r\n      end\r\n   end\r\n\r\n   self.LastReading = I:Component_GetFloatLogic(DRIVEMAINTAINER, DriveMaintainerIndex)\r\n   return self.LastReading\r\nend\r\n\r\nPerlinOffset = 0\r\n\r\nfunction Evasion_FirstRun(_)\r\n   -- Used as Y coordinate for Perlin generator\r\n   PerlinOffset = 1000.0 * math.random()\r\nend\r\nAddFirstRun(Evasion_FirstRun)\r\n\r\n-- Offset by Evasion, if set\r\nfunction CalculateEvasion(Evasion)\r\n   if Evasion then\r\n      return Evasion[1] * (2.0 * Mathf.PerlinNoise(Evasion[2] * C:Now(), PerlinOffset) - 1.0)\r\n   else\r\n      return 0\r\n   end\r\nend\r\n\r\n-- Terrain following module\r\nTerrainCheckPoints = {}\r\nCurrentMaxVerticalSpeed = 1\r\n\r\n-- Pre-calculate check points for terrain following\r\nfunction TerrainCheck_FirstRun(I)\r\n   local MaxDim = I:GetConstructMaxDimensions()\r\n   local MinDim = I:GetConstructMinDimensions()\r\n   local Dimensions = MaxDim - MinDim\r\n   local HalfDimensions = Dimensions / 2\r\n\r\n   table.insert(TerrainCheckPoints, 0)\r\n   table.insert(TerrainCheckPoints, -HalfDimensions.x)\r\n   table.insert(TerrainCheckPoints, HalfDimensions.x)\r\n   if TerrainCheckSubdivisions > 0 then\r\n      local Delta = HalfDimensions.x / (TerrainCheckSubdivisions+1)\r\n      for i=1,TerrainCheckSubdivisions do\r\n         local x = i * Delta\r\n         table.insert(TerrainCheckPoints, -x)\r\n         table.insert(TerrainCheckPoints, x)\r\n      end\r\n   end\r\n\r\n   if not TerrainCheckResolution then\r\n      TerrainCheckResolution = HalfDimensions.z\r\n   end\r\n   if TerrainCheckMaxVerticalSpeed then\r\n      CurrentMaxVerticalSpeed = TerrainCheckMaxVerticalSpeed\r\n   end\r\nend\r\nAddFirstRun(TerrainCheck_FirstRun)\r\n\r\n-- Using pre-calculated check points, scan ahead a certain distance\r\n-- (using Velocity * look-ahead time) and return maximum height of terrain.\r\nfunction GetTerrainHeight(I, Velocity, MinAltitude, MaxAltitude)\r\n   local Height = MinAltitude\r\n   local Speed = Velocity.magnitude\r\n   local Direction = Velocity / Speed\r\n   local Perp = Vector3.Cross(Direction, Vector3.up)\r\n\r\n   -- Determine how far to look ahead\r\n   local LookAheadTime\r\n   if TerrainCheckLookAheadTime then\r\n      LookAheadTime = TerrainCheckLookAheadTime\r\n   else\r\n      -- If using dynamic vertical speed, update that first.\r\n      -- Note: Only care about positive vertical speeds.\r\n      -- Don't count falling!\r\n      if not TerrainCheckMaxVerticalSpeed and Velocity.y > CurrentMaxVerticalSpeed then\r\n         CurrentMaxVerticalSpeed = Velocity.y\r\n      end\r\n\r\n      local RemainingAltitude = math.max(0, MaxAltitude - C:Altitude())\r\n      LookAheadTime = math.max(1, TerrainCheckBufferFactor * RemainingAltitude / CurrentMaxVerticalSpeed)\r\n   end\r\n   local MaxDistance = Speed * LookAheadTime\r\n\r\n   -- Calculate (mid-point) distances for this velocity once\r\n   local Distances = {}\r\n   for d = 0,MaxDistance-1,TerrainCheckResolution do\r\n      table.insert(Distances, C:CoM() + Direction * d)\r\n   end\r\n\r\n   -- Make sure end point is also checked\r\n   -- (Generally it won't be evenly divisible by TerrainCheckResolution)\r\n   table.insert(Distances, C:CoM() + Direction * MaxDistance)\r\n\r\n   for _,Offset in pairs(TerrainCheckPoints) do\r\n      local Side = Perp * Offset\r\n      for _,Distance in pairs(Distances) do\r\n         local TestPoint = Distance + Side\r\n         Height = math.max(Height, I:GetTerrainAltitudeForPosition(TestPoint))\r\n      end\r\n   end\r\n\r\n   return Height\r\nend\r\n\r\n-- Altitude Control module\r\nManualAltitudeController = ManualController.create(ManualAltitudeDriveMaintainerFacing)\r\nHalfMaxManualAltitude = MaxManualAltitude / 2\r\n\r\nDesiredControlAltitude = 0\r\nControlAltitudeOffset = 0\r\n\r\nfunction Altitude_Control(I)\r\n   ControlAltitudeOffset = 0\r\n\r\n   local NewAltitude\r\n   if ManualAltitudeDriveMaintainerFacing and ManualAltitudeWhen[I.AIMode] then\r\n      NewAltitude = HalfMaxManualAltitude + ManualAltitudeController:GetReading(I) * HalfMaxManualAltitude\r\n      if ManualEvasion and C:FirstTarget() then\r\n         ControlAltitudeOffset = CalculateEvasion(Evasion)\r\n      end\r\n   else\r\n      if C:FirstTarget() then\r\n         NewAltitude = DesiredAltitudeCombat\r\n         ControlAltitudeOffset = CalculateEvasion(Evasion)\r\n      else\r\n         NewAltitude = DesiredAltitudeIdle\r\n      end\r\n   end\r\n\r\n   if not AbsoluteAltitude then\r\n      -- Look ahead at the terrain, but don't fly lower than sea level\r\n      local Height = GetTerrainHeight(I, C:Velocity(), 0, MaxAltitude)\r\n      NewAltitude = NewAltitude + Height\r\n   end\r\n\r\n   DesiredControlAltitude = NewAltitude\r\nend\r\n\r\n-- Normalizes a bearing to (-180, 180].\r\nfunction NormalizeBearing(Bearing)\r\n   Bearing = Bearing % 360\r\n   if Bearing > 180 then Bearing = Bearing - 360 end\r\n   return Bearing\r\nend\r\n\r\n-- SpinnerControl implementation\r\nSpinnerControl = {}\r\n\r\n-- Note: Axis should be a unit vector depicting the positive direction\r\n-- Typically Vector3.up, Vector3.forward, etc.\r\nfunction SpinnerControl.create(Axis, UseSpinners, UseDediBlades, AlwaysUp)\r\n   local self = {}\r\n\r\n   self.Axis = Axis\r\n   self.UseSpinners = UseSpinners\r\n   self.UseDediBlades = UseDediBlades\r\n   self.AlwaysUp = AlwaysUp\r\n   self.LastSpinnerCount = 0\r\n   self.Spinners = {}\r\n\r\n   if UseSpinners or UseDediBlades then\r\n      self.Classify = SpinnerControl.Classify\r\n   else\r\n      -- Not using spinners at all, so just make Classify do nothing\r\n      self.Classify = function (_, _) end\r\n   end\r\n   self.SetSpeed = SpinnerControl.SetSpeed\r\n\r\n   return self\r\nend\r\n\r\n-- Classify and gather spinners on the construct that contribute thrust\r\n-- along the desired axis. Should be called per Update.\r\n-- (Assumption is that damage changes indices...)\r\nfunction SpinnerControl:Classify(I)\r\n   local SpinnerCount = I:GetSpinnerCount()\r\n   -- If the count hasn't changed since last check, do nothing.\r\n   if SpinnerCount == self.LastSpinnerCount then return end\r\n\r\n   self.LastSpinnerCount = SpinnerCount\r\n   self.Spinners = {}\r\n\r\n   local UseSpinners,UseDediBlades,AlwaysUp,Axis = self.UseSpinners,self.UseDediBlades,self.AlwaysUp,self.Axis\r\n   for i = 0,SpinnerCount-1 do\r\n      local IsDedi = I:IsSpinnerDedicatedHelispinner(i)\r\n      if ((UseSpinners and not IsDedi) or\r\n          (UseDediBlades and IsDedi)) then\r\n         local Info = I:GetSpinnerInfo(i)\r\n         local DotZ = Vector3.Dot(Info.LocalRotation * Vector3.up,\r\n                                  Axis)\r\n         if math.abs(DotZ) > 0.001 then\r\n            local Spinner = {\r\n               Index = i,\r\n               Sign = AlwaysUp and 1 or Sign(DotZ),\r\n            }\r\n            table.insert(self.Spinners, Spinner)\r\n         end\r\n      end\r\n   end\r\nend\r\n\r\n-- Sets spinner speed, Speed can be -30 to 30 (radians/second)\r\nfunction SpinnerControl:SetSpeed(I, Speed)\r\n   for _,Spinner in pairs(self.Spinners) do\r\n      I:SetSpinnerContinuousSpeed(Spinner.Index, Speed * Spinner.Sign)\r\n   end\r\nend\r\n\r\n-- Yaw & throttle module\r\nYawPID = PID.create(YawPIDConfig, -1.0, 1.0)\r\n\r\nPropulsionSpinners = SpinnerControl.create(Vector3.forward, UseSpinners, UseDediBlades)\r\n\r\nDesiredHeading = nil\r\nDesiredThrottle = nil\r\nCurrentThrottle = 0\r\n\r\n-- Sets heading to an absolute value, 0 is north, 90 is east\r\nfunction SetHeading(Heading)\r\n   DesiredHeading = Heading % 360\r\nend\r\n\r\n-- Adjusts heading toward relative bearing\r\nfunction AdjustHeading(Bearing) -- luacheck: ignore 131\r\n   SetHeading(C:Yaw() + Bearing)\r\nend\r\n\r\n-- Resets heading so yaw will no longer be modified\r\nfunction ResetHeading()\r\n   DesiredHeading = nil\r\nend\r\n\r\n-- Sets throttle. Throttle should be [-1, 1]\r\nfunction SetThrottle(Throttle)\r\n   DesiredThrottle = math.max(-1, math.min(1, Throttle))\r\nend\r\n\r\n-- Adjusts throttle by some delta\r\n-- NB CurrentThrottle does not change until YawThrottle_Update is called.\r\nfunction AdjustThrottle(Delta) -- luacheck: ignore 131\r\n   SetThrottle(CurrentThrottle + Delta)\r\nend\r\n\r\n-- Resets throttle so drives will no longer be modified\r\nfunction ResetThrottle()\r\n   DesiredThrottle = nil\r\nend\r\n\r\n-- Resets heading/throttle so they will no longer be modified\r\n-- (unless explicitly set again)\r\nfunction YawThrottle_Reset() -- luacheck: ignore 131\r\n   ResetHeading()\r\n   ResetThrottle()\r\nend\r\n\r\n-- Controls ship according to desired heading/throttle.\r\n-- Should be called every update.\r\n-- Default AI should be suppressed beforehand, if needed.\r\nfunction YawThrottle_Update(I)\r\n   if DesiredHeading then\r\n      local Error = NormalizeBearing(DesiredHeading - C:Yaw())\r\n\r\n      local CV = YawPID:Control(Error)\r\n      if CV > 0.0 then\r\n         I:RequestControl(Mode, YAWRIGHT, CV)\r\n      elseif CV < 0.0 then\r\n         I:RequestControl(Mode, YAWLEFT, -CV)\r\n      end\r\n   end\r\n\r\n   if DesiredThrottle then\r\n      I:RequestControl(Mode, MAINPROPULSION, DesiredThrottle)\r\n      PropulsionSpinners:Classify(I)\r\n      PropulsionSpinners:SetSpeed(I, DesiredThrottle * 30)\r\n      CurrentThrottle = DesiredThrottle\r\n   end\r\nend\r\n\r\nfunction YawThrottle_Disable(I)\r\n   I:RequestControl(Mode, MAINPROPULSION, 0)\r\n   PropulsionSpinners:Classify(I)\r\n   PropulsionSpinners:SetSpeed(I, 0)\r\n   CurrentThrottle = 0\r\nend\r\n\r\n-- Returns offset vector with target at same height as origin\r\nfunction PlanarVector(Origin, Target)\r\n   local NewTarget = Vector3(Target.x, Origin.y, Target.z)\r\n   return NewTarget - Origin, NewTarget\r\nend\r\n\r\n-- https://stackoverflow.com/questions/15706270/sort-a-table-in-lua\r\nfunction spairs(t, order)\r\n   -- collect the keys\r\n   local keys = {}\r\n   for k in pairs(t) do keys[#keys+1] = k end\r\n\r\n   -- if order function given, sort by it by passing the table and keys a, b,\r\n   -- otherwise just sort the keys\r\n   if order then\r\n      table.sort(keys, function(a,b) return order(t, a, b) end)\r\n   else\r\n      table.sort(keys)\r\n   end\r\n\r\n   -- return the iterator function\r\n   local i = 0\r\n   return function()\r\n      i = i + 1\r\n      if keys[i] then\r\n         return keys[i], t[keys[i]]\r\n      end\r\n   end\r\nend\r\n\r\n-- Returns the angle of a vector on the XZ plane relative to forward.\r\n-- Slightly different than Vector3.Angle as it accounts for negative\r\n-- (counter-clockwise) angles as well\r\nfunction GetVectorAngle(v)\r\n   return math.deg(math.atan2(v.x, v.z))\r\nend\r\n\r\n-- Get bearing toward a given world point\r\nfunction GetBearingToPoint(Point)\r\n   local Offset = Point - C:CoM()\r\n   return Mathf.DeltaAngle(C:Yaw(), GetVectorAngle(Offset))\r\nend\r\n\r\n-- Avoidance module\r\nMidPoint = nil\r\nVerticalClearance = 0\r\nCheckPoints = {}\r\n\r\n-- Used for tiebreakers\r\nPreviousTAvoid = Vector3.right\r\n\r\nfunction Avoidance_FirstRun(I)\r\n   local MaxDim = I:GetConstructMaxDimensions()\r\n   local MinDim = I:GetConstructMinDimensions()\r\n   local Dimensions = MaxDim - MinDim\r\n   local HalfDimensions = Dimensions / 2\r\n   MidPoint = MinDim + HalfDimensions -- Relative to Position and no rotation (local)\r\n\r\n   VerticalClearance = HalfDimensions.y * ClearanceFactor\r\n   local SideClearance = HalfDimensions.x * ClearanceFactor\r\n\r\n   -- Construct forward row of points (from which to base terrain avoidance checks)\r\n   -- Note origin is CoM\r\n   table.insert(CheckPoints, 0)\r\n   table.insert(CheckPoints, -SideClearance)\r\n   table.insert(CheckPoints, SideClearance)\r\n   if TerrainAvoidanceSubdivisions > 0 then\r\n      local Delta = SideClearance / (TerrainAvoidanceSubdivisions+1)\r\n      for i=1,TerrainAvoidanceSubdivisions do\r\n         local x = i * Delta\r\n         table.insert(CheckPoints, -x)\r\n         table.insert(CheckPoints, x)\r\n      end\r\n   end\r\n\r\n   if not LookAheadResolution then\r\n      LookAheadResolution = HalfDimensions.z / 2\r\n   end\r\nend\r\nAddFirstRun(Avoidance_FirstRun)\r\n\r\nfunction GetTerrainHits(I, Angle, LowerEdge, Speed)\r\n   local Hits = 0\r\n   local Rotation = Quaternion.Euler(0, Angle, 0) -- NB Angle is world\r\n\r\n   local MaxDistance = Speed * LookAheadTime\r\n\r\n   -- Calculate (mid-point) distances for this velocity once\r\n   local Distances = {}\r\n   for d = 0,MaxDistance-1,LookAheadResolution do\r\n      table.insert(Distances, d)\r\n   end\r\n\r\n   -- Make sure end point is also checked\r\n   -- (Generally it won't be evenly divisible by LookAheadResolution)\r\n   table.insert(Distances, MaxDistance)\r\n\r\n   for _,Offset in pairs(CheckPoints) do\r\n      local Blocked = false\r\n      for _,Distance in pairs(Distances) do\r\n         if Blocked then\r\n            -- Just assume all points beyond the previous are blocked as well\r\n            -- Also means the closer the obstacle, the greater the # of hits\r\n            Hits = Hits + 1\r\n         else\r\n            local TestPoint = C:CoM() + Rotation * Vector3(Offset, 0, Distance)\r\n            if I:GetTerrainAltitudeForPosition(TestPoint) >= LowerEdge then\r\n               Hits = Hits + 1\r\n               Blocked = true\r\n            end\r\n         end\r\n      end\r\n   end\r\n   return Hits\r\nend\r\n\r\n-- Modifies bearing to avoid any friendlies & terrain\r\nfunction Avoidance(I, Bearing)\r\n   -- Required clearance above and below\r\n   local PositionY = C:Position().y + MidPoint.y -- Not necessarily Altitude\r\n   local UpperEdge = PositionY + VerticalClearance\r\n   local LowerEdge = PositionY - VerticalClearance\r\n\r\n   local Velocity = C:Velocity()\r\n   Velocity = Vector3(Velocity.x, 0, Velocity.z)\r\n   local Speed = Velocity.magnitude\r\n\r\n   -- Look for nearby friendlies\r\n   local FCount,FAvoid = 0,Vector3.zero\r\n   if FriendlyAvoidanceWeight > 0 then\r\n      local AvoidanceTime,MinDistance\r\n      if C:FirstTarget() then\r\n         AvoidanceTime,MinDistance = unpack(FriendlyAvoidanceCombat)\r\n      else\r\n         AvoidanceTime,MinDistance = unpack(FriendlyAvoidanceIdle)\r\n      end\r\n      for i = 0,I:GetFriendlyCount()-1 do\r\n         local Friend = I:GetFriendlyInfo(i)\r\n         -- Only consider friendlies within our altitude range\r\n         if Friend.Valid and\r\n            (Friend.AxisAlignedBoundingBoxMinimum.y <= UpperEdge and\r\n             Friend.AxisAlignedBoundingBoxMaximum.y >= LowerEdge) then\r\n               local Offset,_ = PlanarVector(C:CoM(), Friend.CenterOfMass)\r\n               local Distance = Offset.magnitude\r\n               if Distance < FriendlyCheckDistance then\r\n                  local Direction = Offset / Distance -- aka Offset.normalized\r\n                  local Collision = false\r\n                  if Distance < MinDistance then\r\n                     Collision = true\r\n                  else\r\n                     -- Calculate relative speed along offset vector\r\n                     local RelativeVelocity = Velocity - Friend.Velocity\r\n                     local RelativeSpeed = Vector3.Dot(RelativeVelocity, Direction)\r\n                     if RelativeSpeed > 0.0 and Distance / RelativeSpeed < AvoidanceTime then\r\n                        Collision = true\r\n                     end\r\n                  end\r\n                  if Collision then\r\n                     -- Collision imminent\r\n                     FCount = FCount + 1\r\n                     FAvoid = FAvoid - Direction\r\n                  end\r\n               end\r\n         end\r\n      end\r\n      if FCount > 0 then\r\n         FAvoid = FAvoid * FriendlyAvoidanceWeight\r\n      end\r\n   end\r\n\r\n   local TCount,TAvoid = 0,Vector3.zero\r\n   if TerrainAvoidanceWeight > 0 then\r\n      local VelocityAngle = GetVectorAngle(Velocity)\r\n      -- Check directly forward (w.r.t. velocity)\r\n      local ForwardHits = GetTerrainHits(I, VelocityAngle, LowerEdge, Speed)\r\n      if ForwardHits > 0 then\r\n         -- Look for an exit\r\n         local LeftHits = GetTerrainHits(I, VelocityAngle-LookAheadAngle, LowerEdge, Speed)\r\n         local RightHits = GetTerrainHits(I, VelocityAngle+LookAheadAngle, LowerEdge, Speed)\r\n         -- And steer left or right accordingly\r\n         if LeftHits < RightHits then\r\n            TAvoid = Vector3.left\r\n         elseif RightHits < LeftHits then\r\n            TAvoid = Vector3.right\r\n         else\r\n            TAvoid = PreviousTAvoid\r\n         end\r\n         PreviousTAvoid = TAvoid\r\n         TCount = ForwardHits + LeftHits + RightHits\r\n         TAvoid = Quaternion.Euler(0, C:Yaw(), 0) * TAvoid * TerrainAvoidanceWeight\r\n      else\r\n         PreviousTAvoid = Vector3.right\r\n      end\r\n   end\r\n\r\n   if (FCount + TCount) == 0 then\r\n      return Bearing\r\n   else\r\n      -- Current target as given by Bearing\r\n      local NewTarget = Quaternion.Euler(0, C:Yaw()+Bearing, 0) * Vector3.forward\r\n      -- Add avoidance vectors\r\n      NewTarget = C:CoM() + NewTarget + FAvoid + TAvoid\r\n      -- Determine new bearing\r\n      return GetBearingToPoint(NewTarget)\r\n   end\r\nend\r\n\r\n-- Returns solution(s) to a quadratic equation in table form.\r\n-- Table will be empty if solutions are imaginary or invalid.\r\nfunction QuadraticSolver(a, b, c)\r\n   if a == 0 then\r\n      -- Actually linear\r\n      if b ~= 0 then\r\n         return { -c / b }\r\n      else\r\n         return {} -- Division by zero...\r\n      end\r\n   else\r\n      -- Discriminant\r\n      local disc = b * b - 4 * a * c\r\n      if disc < 0 then\r\n         return {} -- Imaginary\r\n      elseif disc == 0 then\r\n         -- Single solution\r\n         return { -.5 * b / a }\r\n      else\r\n         -- Two solutions\r\n         local q = (b > 0) and (-.5 * (b + math.sqrt(disc))) or (-.5 * (b - math.sqrt(disc)))\r\n         local t1 = q / a\r\n         local t2 = c / q\r\n         if t1 > t2 then\r\n            return { t2, t1 }\r\n         else\r\n            return { t1, t2 }\r\n         end\r\n      end\r\n   end\r\nend\r\n\r\n-- Quadratic intercept formula\r\nfunction QuadraticIntercept(Position, Velocity, Target, TargetVelocity, DefaultInterceptTime)\r\n   if not DefaultInterceptTime then DefaultInterceptTime = 1 end\r\n   local Offset = Target - Position\r\n   -- Apparently you can apply binomial expansion to vectors\r\n   -- ...as long as it's 2nd degree only\r\n   local a = Vector3.Dot(TargetVelocity, TargetVelocity) - Vector3.Dot(Velocity, Velocity)  -- aka difference of squares of velocity magnitudes\r\n   local b = 2 * Vector3.Dot(Offset, TargetVelocity)\r\n   local c = Vector3.Dot(Offset, Offset) -- Offset.magnitude squared\r\n   local Solutions = QuadraticSolver(a, b, c)\r\n   local InterceptTime = DefaultInterceptTime\r\n   -- Pick smallest positive intercept time\r\n   if #Solutions == 1 then\r\n      local t = Solutions[1]\r\n      if t > 0 then InterceptTime = t end\r\n   elseif #Solutions == 2 then\r\n      local t1 = Solutions[1]\r\n      local t2 = Solutions[2]\r\n      if t1 > 0 then\r\n         InterceptTime = t1\r\n      elseif t2 > 0 then\r\n         InterceptTime = t2\r\n      end\r\n   end\r\n\r\n   return Target + TargetVelocity * InterceptTime,InterceptTime\r\nend\r\n\r\n-- Waypoint move module\r\nMTW_ThrottlePID = PID.create(WaypointMoveConfig.ThrottlePIDConfig, -1, 1)\r\n\r\nif not WaypointMoveConfig.MinimumSpeed then WaypointMoveConfig.MinimumSpeed = 0 end\r\n\r\n-- Scale desired speed up (or down) depending on angle between velocities\r\nfunction MTW_MatchSpeed(Velocity, TargetVelocity, Faster)\r\n   local Speed = Velocity.magnitude\r\n   local TargetSpeed = TargetVelocity.magnitude\r\n   -- Already calculated magnitudes...\r\n   local VelocityDirection = Velocity / Speed\r\n   local TargetVelocityDirection = TargetVelocity / TargetSpeed\r\n\r\n   local CosAngle = Vector3.Dot(TargetVelocityDirection, VelocityDirection)\r\n   local MinimumSpeed = WaypointMoveConfig.MinimumSpeed\r\n   if CosAngle > 0 then\r\n      local DesiredSpeed = TargetSpeed\r\n      -- Can take CosAngle into account and scale RelativeApproachSpeed appropriately,\r\n      -- but K.I.S.S. for now.\r\n      DesiredSpeed = DesiredSpeed + Sign(Faster) * WaypointMoveConfig.RelativeApproachSpeed\r\n      return math.max(MinimumSpeed, DesiredSpeed),Speed\r\n   else\r\n      -- Angle between velocities >= 90 degrees, go minimum speed\r\n      return MinimumSpeed,Speed\r\n   end\r\nend\r\n\r\n-- Move to a waypoint (using yaw & throttle only)\r\nfunction MoveToWaypoint(I, Waypoint, AdjustHeading, WaypointVelocity)\r\n   local Offset,TargetPosition = PlanarVector(C:CoM(), Waypoint)\r\n   local Distance = Offset.magnitude\r\n\r\n   if not WaypointVelocity then\r\n      -- Stationary waypoint, just point and go\r\n      if Distance >= WaypointMoveConfig.MaxDistance then\r\n         local Bearing = GetBearingToPoint(Waypoint)\r\n         AdjustHeading(Bearing)\r\n         SetThrottle(WaypointMoveConfig.ClosingDrive)\r\n      else\r\n         SetThrottle(0)\r\n      end\r\n   else\r\n      local Direction = Offset / Distance\r\n\r\n      local Velocity = C:Velocity()\r\n      -- Constrain our velocity and waypoint velocity to XZ plane\r\n      Velocity = Vector3(Velocity.x, 0, Velocity.z)\r\n      local TargetVelocity = Vector3(WaypointVelocity.x, 0, WaypointVelocity.z)\r\n      -- Predict intercept\r\n      local TargetPoint = QuadraticIntercept(C:CoM(), Velocity, TargetPosition, TargetVelocity)\r\n\r\n      local Bearing = GetBearingToPoint(TargetPoint)\r\n      AdjustHeading(Bearing)\r\n\r\n      if Distance >= WaypointMoveConfig.ApproachDistance then\r\n         -- Go full throttle and catch up\r\n         SetThrottle(WaypointMoveConfig.ClosingDrive)\r\n      else\r\n         -- Only go faster if waypoint is ahead of us\r\n         local Faster = Vector3.Dot(I:GetConstructForwardVector(), Direction)\r\n         -- Attempt to match speed\r\n         local DesiredSpeed,Speed = MTW_MatchSpeed(Velocity, TargetVelocity, Faster)\r\n         -- Use PID to set throttle\r\n         local Error = DesiredSpeed - Speed\r\n         local CV = MTW_ThrottlePID:Control(Error)\r\n         local Drive = math.max(0, math.min(1, CurrentThrottle + CV))\r\n         SetThrottle(Drive)\r\n      end\r\n   end\r\nend\r\n\r\n-- Repair AI module\r\nParentID = nil\r\nRepairTargetID = nil\r\n\r\nfunction Control_MoveToWaypoint(I, Waypoint, WaypointVelocity)\r\n   MoveToWaypoint(I, Waypoint, function (Bearing) AdjustHeading(Avoidance(I, Bearing)) end, WaypointVelocity)\r\nend\r\n\r\nfunction AdjustHeadingToRepairTarget(I)\r\n   local RepairTarget = I:GetFriendlyInfoById(RepairTargetID)\r\n   if RepairTarget and RepairTarget.Valid then\r\n      local RepairTargetCoM = RepairTarget.CenterOfMass + RepairTarget.ForwardVector * RepairTargetOffset.z + RepairTarget.RightVector * RepairTargetOffset.x\r\n\r\n      Control_MoveToWaypoint(I, RepairTargetCoM, RepairTarget.Velocity)\r\n   end\r\nend\r\n\r\nfunction CalculateRepairTargetWeight(Distance, ParentDistance, Friend)\r\n   return Distance * DistanceWeight +\r\n      ParentDistance * ParentDistanceWeight +\r\n      (1.0 - Friend.HealthFraction) * DamageWeight\r\nend\r\n\r\nfunction SelectRepairTarget(I)\r\n   -- Get Parent info\r\n   local Parent = I:GetFriendlyInfoById(ParentID)\r\n   if Parent and not Parent.Valid then\r\n      -- Hmm, parent gone (taken out of play?)\r\n      -- Skip for now, select new parent next update\r\n      RepairTargetID = nil\r\n      -- And ensure we latch onto a new parent\r\n      ParentID = nil\r\n      return\r\n   end\r\n\r\n   local Targets = {}\r\n   -- Parent first, adjust weight accordingly\r\n   local ParentCoM = Parent.CenterOfMass\r\n   local Offset,_ = PlanarVector(C:CoM(), ParentCoM)\r\n   Targets[Parent.Id] = CalculateRepairTargetWeight(Offset.magnitude, 0, Parent) * ParentBonus\r\n\r\n   local RepairTargetMinAltitude = C:Altitude() - RepairTargetMaxAltitudeDelta\r\n   local RepairTargetMaxAltitude = C:Altitude() + RepairTargetMaxAltitudeDelta\r\n\r\n   -- Scan nearby friendlies\r\n   for i = 0,I:GetFriendlyCount()-1 do\r\n      local Friend = I:GetFriendlyInfo(i)\r\n      if Friend and Friend.Valid and Friend.Id ~= ParentID then\r\n         -- Meets range and altitude requirements?\r\n         local FriendCoM = Friend.CenterOfMass\r\n         local FriendAlt = FriendCoM.y\r\n         local FriendHealth = Friend.HealthFraction\r\n         Offset,_ = PlanarVector(C:CoM(), FriendCoM)\r\n         local Distance = Offset.magnitude\r\n         Offset,_ = PlanarVector(ParentCoM, FriendCoM)\r\n         local ParentDistance = Offset.magnitude\r\n         if Distance <= RepairTargetMaxDistance and\r\n            ParentDistance <= RepairTargetMaxParentDistance and\r\n            FriendAlt >= RepairTargetMinAltitude and\r\n            FriendAlt <= RepairTargetMaxAltitude and\r\n            FriendHealth <= RepairTargetMaxHealthFraction and\r\n            FriendHealth >= RepairTargetMinHealthFraction then\r\n            Targets[Friend.Id] = CalculateRepairTargetWeight(Distance, ParentDistance, Friend)\r\n         end\r\n      end\r\n   end\r\n\r\n   -- Sort\r\n   for k,_ in spairs(Targets, function(t,a,b) return t[b] < t[a] end) do -- luacheck: ignore 512\r\n      RepairTargetID = k\r\n      -- Only care about the first one\r\n      break\r\n   end\r\nend\r\n\r\nfunction Imprint(I)\r\n   ParentID = nil\r\n   RepairTargetID = nil\r\n   local Closest = math.huge\r\n   for i = 0,I:GetFriendlyCount()-1 do\r\n      local Friend = I:GetFriendlyInfo(i)\r\n      if Friend and Friend.Valid then\r\n         local Offset,_ = PlanarVector(C:CoM(), Friend.CenterOfMass)\r\n         local Distance = Offset.magnitude\r\n         if Distance < Closest then\r\n            Closest = Distance\r\n            ParentID = Friend.Id\r\n         end\r\n      end\r\n   end\r\nend\r\n\r\nfunction RepairAI_Reset()\r\n   ParentID = nil\r\n   RepairTargetID = nil\r\nend\r\n\r\nfunction RepairAI_Main(I)\r\n   if not ParentID then\r\n      Imprint(I)\r\n   end\r\n   if ParentID then\r\n      SelectRepairTarget(I)\r\n   end\r\n   if RepairTargetID then\r\n      AdjustHeadingToRepairTarget(I)\r\n   else\r\n      SetThrottle(0)\r\n   end\r\nend\r\n\r\nfunction FormationMove(I)\r\n   local Flagship = I.Fleet.Flagship\r\n   if not I.IsFlagship and Flagship.Valid then\r\n      Control_MoveToWaypoint(I, Flagship.ReferencePosition + Flagship.Rotation * I.IdealFleetPosition, Flagship.Velocity)\r\n   else\r\n      Control_MoveToWaypoint(I, I.Waypoint) -- Waypoint assumed to be stationary\r\n   end\r\nend\r\n\r\nfunction RepairAI_Update(I)\r\n   Control_Reset()\r\n\r\n   local AIMode = I.AIMode\r\n   if AIMode ~= \"fleetmove\" then\r\n      if C:FirstTarget() then\r\n         RepairAI_Main(I)\r\n      else\r\n         if ReturnToOrigin then\r\n            RepairAI_Reset()\r\n            FormationMove(I)\r\n         else\r\n            -- Basically always active, as if in combat\r\n            RepairAI_Main(I)\r\n         end\r\n      end\r\n   else\r\n      RepairAI_Reset()\r\n      FormationMove(I)\r\n   end\r\nend\r\n\r\n-- Quadcopter repair AI\r\nThreeDoFSpinner = Periodic.create(Quadcopter_UpdateRate, Altitude_Control)\r\nRepairAI = Periodic.create(AI_UpdateRate, RepairAI_Update)\r\n\r\nControl_Reset = YawThrottle_Reset\r\n\r\nfunction Update(I) -- luacheck: ignore 131\r\n   C = Commons.create(I)\r\n   if FirstRun then FirstRun(I) end\r\n   if not C:IsDocked() then\r\n      ThreeDoFSpinner:Tick(I)\r\n\r\n      if ActivateWhen[I.AIMode] then\r\n         RepairAI:Tick(I)\r\n\r\n         -- Suppress default AI\r\n         I:TellAiThatWeAreTakingControl()\r\n\r\n         YawThrottle_Update(I)\r\n      else\r\n         RepairAI_Reset()\r\n      end\r\n\r\n      SetAltitude(DesiredControlAltitude+ControlAltitudeOffset)\r\n      ThreeDoFSpinner_Update(I)\r\n   else\r\n      RepairAI_Reset()\r\n      YawThrottle_Disable(I)\r\n      ThreeDoFSpinner_Disable(I)\r\n   end\r\nend"],"BlockStringDataIds":[5],"GameVersion":"v1.969","BlockCount":332}],"BLP":["8,0,7","-8,0,7","8,0,3","-8,0,3","8,0,-3","-8,0,-3","8,0,-7","-8,0,-7","8,0,-8","-8,0,-8","-7,0,-3","7,0,-3","-7,0,3","7,0,3","-3,0,7","3,0,7","-4,2,-4","-4,2,-5","-4,2,-6","-5,2,-4","-5,2,-5","-5,2,-6","-6,2,-4","-6,2,-5","-7,2,-4","-7,2,-5","-4,1,-4","-4,1,-5","-4,1,-6","-5,1,-4","-5,1,-5","-5,1,-6","-6,1,-4","-6,1,-5","-6,1,-6","-7,1,-4","-7,1,-5","-7,1,-6","-4,0,-4","-4,0,-5","-5,0,-4","-5,0,-5","-6,0,-4","-6,0,-5","-7,0,-4","-7,0,-5","-4,-1,-4","-4,-1,-5","-4,-1,-6","-5,-1,-4","-5,-1,-5","-5,-1,-6","-6,-1,-4","-6,-1,-5","-6,-1,-6","-7,-1,-4","-7,-1,-5","-7,-1,-6","-4,-2,-5","-4,-2,-6","-5,-2,-4","-5,-2,-5","-5,-2,-6","-6,-2,-4","-6,-2,-5","-7,-2,-4","-7,-2,-5","-4,2,6","-4,2,5","-4,2,4","-5,2,6","-5,2,5","-5,2,4","-6,2,5","-6,2,4","-7,2,5","-7,2,4","-4,1,6","-4,1,5","-4,1,4","-5,1,6","-5,1,5","-5,1,4","-6,1,6","-6,1,5","-6,1,4","-7,1,6","-7,1,5","-7,1,4","-4,0,6","-4,0,5","-4,0,4","-5,0,6","-5,0,5","-5,0,4","-6,0,6","-6,0,5","-6,0,4","-7,0,6","-7,0,5","-7,0,4","-4,-1,6","-4,-1,5","-4,-1,4","-5,-1,6","-5,-1,5","-5,-1,4","-6,-1,6","-6,-1,5","-6,-1,4","-7,-1,6","-7,-1,5","-7,-1,4","-4,-2,6","-4,-2,5","-5,-2,6","-5,-2,5","-5,-2,4","-6,-2,5","-6,-2,4","-7,-2,5","-7,-2,4","7,2,5","7,2,4","6,2,5","6,2,4","5,2,6","5,2,5","5,2,4","4,2,6","4,2,5","4,2,4","7,1,6","7,1,5","7,1,4","6,1,6","6,1,5","6,1,4","5,1,6","5,1,5","5,1,4","4,1,6","4,1,5","4,1,4","7,0,6","7,0,5","7,0,4","6,0,6","6,0,5","6,0,4","5,0,6","5,0,5","5,0,4","4,0,6","4,0,5","4,0,4","7,-1,6","7,-1,5","7,-1,4","6,-1,6","6,-1,5","6,-1,4","5,-1,6","5,-1,5","5,-1,4","4,-1,6","4,-1,5","4,-1,4","7,-2,5","7,-2,4","6,-2,5","6,-2,4","5,-2,6","5,-2,5","5,-2,4","4,-2,6","4,-2,5","7,2,-4","7,2,-5","6,2,-4","6,2,-5","5,2,-4","5,2,-5","5,2,-6","4,2,-4","4,2,-5","7,1,-4","7,1,-5","7,1,-6","6,1,-4","6,1,-5","6,1,-6","5,1,-4","5,1,-5","5,1,-6","4,1,-4","4,1,-5","4,1,-6","7,0,-4","7,0,-5","6,0,-4","6,0,-5","5,0,-4","5,0,-5","4,0,-4","4,0,-5","7,-1,-4","7,-1,-5","6,-1,-4","6,-1,-5","6,-1,-6","5,-1,-4","5,-1,-5","5,-1,-6","4,-1,-4","4,-1,-5","4,-1,-6","7,-2,-4","7,-2,-5","6,-2,-4","6,-2,-5","5,-2,-4","5,-2,-5","5,-2,-6","4,-2,-5","4,-2,-6","3,0,-7","-3,0,-7","3,0,-8","-3,0,-8","0,0,-8","-1,0,-7","1,0,-7","-2,0,-7","2,0,-7","-2,0,-6","2,0,-6","-1,0,-6","1,0,-6","-1,0,-5","1,0,-5","-2,0,-5","2,0,-5","8,0,9","-8,0,9","9,0,8","-9,0,8","8,1,9","-8,1,9","9,-1,8","-9,-1,8","9,1,8","-9,1,8","9,-2,9","-9,-2,9","9,2,9","-9,2,9","9,0,-8","-9,0,-8","9,1,-8","-9,1,-8","9,-1,-8","-9,-1,-8","8,0,-9","-8,0,-9","8,1,-9","-8,1,-9","8,-1,-9","-8,-1,-9","9,-2,-9","-9,-2,-9","9,2,-9","-9,2,-9","9,0,0","-9,0,0","13,0,0","-13,0,0","14,-1,0","-14,-1,0","0,0,13","0,0,-13","0,-1,14","0,-1,-14","-1,0,-11","1,0,-11","11,0,1","-11,0,-1","11,0,-1","-1,0,11","1,0,11","-5,0,0","5,0,0","2,-2,-2","2,-1,-2","2,0,-2","2,1,-2","2,-2,-1","2,1,-1","2,-2,0","2,0,0","2,1,0","2,2,0","2,-2,1","2,-1,1","2,0,1","2,1,1","2,-2,2","2,-1,2","2,0,2","2,1,2","2,2,2","1,-1,-2","1,0,-2","1,1,-2","1,2,-2","1,-2,-1","1,-1,-1","1,0,-1","1,1,-1","1,2,-1","1,-2,0","1,-1,0","1,0,0","1,1,0","1,2,0","1,-2,1","1,-1,1","1,0,1","1,1,1","1,2,1","1,-1,2","1,2,2","0,-2,-2","0,-1,-2","0,0,-2","0,2,-2","0,-2,-1","0,-1,-1","0,0,-1","0,1,-1","0,2,-1","0,-2,0","0,-1,0","0,0,0","0,1,0","0,2,0","0,-2,1","0,-1,1","0,0,1","0,1,1","0,2,1","0,-2,2","0,-1,2","0,0,2","0,2,2","-1,-1,-2","-1,2,-2","-1,-2,-1","-1,-1,-1","-1,0,-1","-1,1,-1","-1,2,-1","-1,-2,0","-1,-1,0","-1,0,0","-1,1,0","-1,2,0","-1,-2,1","-1,-1,1","-1,0,1","-1,1,1","-1,2,1","-1,-1,2","-1,0,2","-1,1,2","-1,2,2","-2,-2,-2","-2,-1,-2","-2,0,-2","-2,1,-2","-2,2,-2","-2,-2,-1","-2,-1,-1","-2,0,-1","-2,1,-1","-2,-2,0","-2,0,0","-2,1,0","-2,2,0","-2,-2,1","-2,1,1","-2,-2,2","-2,-1,2","-2,0,2","-2,1,2","-2,2,2","0,1,-3","0,2,-3","0,3,0","-3,0,-1","3,0,-1","-1,0,-3","1,0,-3","2,0,-3","-2,1,-3","3,1,-3","-3,1,-2","3,1,-2","-3,1,-1","3,1,-1","-3,1,0","3,1,0","-3,1,1","-3,1,2","3,1,2","3,1,3","2,1,3","1,1,3","0,1,3","-2,2,-3","2,2,-3","-3,2,-3","3,2,-3","-3,2,-2","3,2,-2","-3,2,-1","3,2,-1","-3,2,0","3,2,0","-3,2,2","3,2,2","3,2,3","2,2,3","1,2,3","0,2,3","0,-3,0","-3,0,1","3,0,1","-1,-4,0","1,-4,0","-1,-4,1","1,-4,1","-1,-4,-1","1,-4,-1","0,3,-3","-5,3,1","5,3,1","-5,3,0","5,3,0","-5,3,-1","5,3,-1","-5,3,-2","5,3,-2","-5,3,2","5,3,2","0,3,5","-1,3,5","1,3,5","-2,3,5","2,3,5","-3,3,5","3,3,5","-5,3,3","5,3,3","-5,3,-3","5,3,-3","-4,3,-4","4,3,-4","0,3,-5","1,3,-5","-1,3,-5","2,3,-5","-2,3,-5","3,3,-5","-3,3,-5","-1,4,1","1,4,1","-3,4,-3","3,4,-3","-3,4,3","3,4,3","-4,4,2","4,4,2","1,4,4","-1,4,-4","-2,4,-4","-3,4,-4","-4,4,-3","-4,4,-2","-4,4,3","-3,4,4","3,4,4","2,4,4","4,4,3","4,4,-2","4,4,-3","4,4,-4","-4,4,-4","4,4,4","-4,4,4","9,3,2","-9,3,2","9,3,-2","-9,3,-2","9,2,-2","-9,2,-2","9,2,2","-9,2,2","10,0,-1","-10,0,-1","9,1,-1","-9,1,-1","9,2,-1","-9,2,-1","9,2,1","-9,2,1","9,1,1","-9,1,1","9,2,0","-9,2,0","9,1,0","-9,1,0","9,-2,0","-9,-2,0","9,-1,-1","-9,-1,-1","9,-1,1","-9,-1,1","9,-2,-1","-9,-2,-1","9,-2,1","-9,-2,1","9,0,-1","-9,0,-1","9,0,1","-9,0,1","9,3,-3","-9,3,-3","9,3,-4","-9,3,-4","9,3,3","-9,3,3","9,3,4","-9,3,4","9,-2,2","-9,-2,2","9,-2,-2","-9,-2,-2","9,-3,-2","-9,-3,-2","9,-3,2","-9,-3,2","5,-3,0","-5,-3,0","5,-3,1","-5,-3,1","5,-3,-1","-5,-3,-1","5,-3,-2","-5,-3,-2","5,-3,2","-5,-3,2","-2,3,2","-2,4,2","2,-3,1","-2,-3,1","2,-3,0","-2,-3,0","2,-3,-1","-2,-3,-1","0,-3,-2","2,-3,-3","-2,-3,-3","2,-3,3","-2,-3,3","1,-3,2","-1,-3,2","0,-3,2","0,-3,5","-1,-3,5","1,-3,5","-2,-3,5","2,-3,5","-2,-3,-5","2,-3,-5","-1,-3,-5","1,-3,-5","0,-3,-5","1,-4,-2","-2,-4,-1","-2,-4,1","-1,-4,2","1,-4,2","-3,-3,6","3,-3,6","-3,-3,-6","3,-3,-6","-1,0,-10","1,0,-10","0,2,-9","0,-2,-9","-1,-1,-9","1,-1,-9","-1,0,-9","1,0,-9","-1,1,-9","1,1,-9","-1,2,-9","1,2,-9","-1,-2,-9","1,-2,-9","-2,3,-9","2,3,-9","-2,2,-9","2,2,-9","-2,-2,-9","2,-2,-9","-2,-3,-9","2,-3,-9","-3,3,-9","3,3,-9","-4,3,-9","4,3,-9","-8,-2,-9","8,-2,-9","-8,2,-9","8,2,-9","-4,2,-9","4,2,-9","-5,2,-9","5,2,-9","-5,-2,-9","5,-2,-9","-5,-3,-9","5,-3,-9","-4,-2,-9","4,-2,-9","-4,-3,-9","4,-3,-9","-3,-3,-9","3,-3,-9","-3,-3,-8","3,-3,-8","-4,-3,-8","4,-3,-8","-5,3,-9","5,3,-9","-9,2,-8","9,2,-8","-9,-2,-8","9,-2,-8","-5,3,-5","5,3,-5","-9,3,-5","9,3,-5","-6,3,-5","6,3,-5","-7,3,-5","7,3,-5","-8,3,-5","8,3,-5","-5,3,-6","5,3,-6","-5,3,-7","5,3,-7","-5,3,-8","5,3,-8","-5,3,5","5,3,5","-5,3,6","5,3,6","-5,3,7","5,3,7","-5,3,8","5,3,8","-6,3,5","6,3,5","-7,3,5","7,3,5","-8,3,5","8,3,5","-9,3,5","9,3,5","-5,3,9","5,3,9","-2,3,9","-3,3,9","-4,3,9","4,3,9","-9,2,4","9,2,4","-9,2,5","9,2,5","-9,-2,5","9,-2,5","-9,-2,4","9,-2,4","-9,-3,4","9,-3,4","-9,-3,3","9,-3,3","-9,-3,5","9,-3,5","-9,2,-4","9,2,-4","-9,2,-5","9,2,-5","-9,-2,-5","9,-2,-5","-9,-3,-3","9,-3,-3","-9,-3,-4","9,-3,-4","-9,-3,-5","9,-3,-5","-9,-2,-4","9,-2,-4","-1,0,10","0,2,9","2,2,9","-2,2,9","5,2,9","2,-2,9","-2,-2,9","3,-3,9","-3,-3,9","-4,-3,9","5,-2,9","-5,-2,9","5,-3,9","-5,-3,9","2,-3,9","-2,-3,9","1,-2,9","1,2,9","-1,2,9","1,1,9","-1,1,9","-1,0,9","1,-1,9","-1,-1,9","-3,-3,7","3,-3,7","-4,-3,7","4,-3,7","-5,-3,8","5,-3,8","-5,-3,7","5,-3,7","-5,-3,6","5,-3,6","-5,-3,5","5,-3,5","-6,-3,5","6,-3,5","-7,-3,5","7,-3,5","-8,-3,5","8,-3,5","-8,-3,4","8,-3,4","-8,-3,3","8,-3,3","-8,-3,-3","8,-3,-3","-8,-3,-4","8,-3,-4","-8,-3,-5","8,-3,-5","-7,-3,-5","7,-3,-5","-6,-3,-5","6,-3,-5","-5,-3,-5","5,-3,-5","-5,-3,-6","5,-3,-6","-5,-3,-7","5,-3,-7","-5,-3,-8","5,-3,-8","0,-1,-10","-10,-1,0","10,-1,0","8,2,9","-8,2,9","8,-2,9","-8,-2,9","9,2,8","-9,2,8","9,-2,8","-9,-2,8","7,2,-8","-7,2,-8","7,-2,-8","-7,-2,-8","7,2,8","-7,2,8","8,2,8","-8,2,8","8,1,8","-8,1,8","8,-1,8","-8,-1,8","8,-2,8","-8,-2,8","7,-2,8","-7,-2,8","7,1,8","-7,1,8","8,2,-8","-8,2,-8","8,1,-8","-8,1,-8","8,-1,-8","-8,-1,-8","7,-1,-8","-7,-1,-8","7,1,-8","-7,1,-8","-4,1,-3","4,1,-3","-3,1,-4","3,1,-4","-3,2,-5","-3,2,-7","-10,1,0","10,1,0","-5,1,-3","5,1,-3","-6,1,-3","0,3,-1","3,2,-6","3,2,-5","3,2,-7","1,1,-3","0,0,-3","0,-1,-3","-1,-1,-4","1,-1,-4","-2,-1,-4","2,-1,-4","-3,-1,-4","3,-1,-4","-3,-1,-3","3,-1,-3","-3,0,-3","3,0,-3","-4,-1,-3","4,-1,-3","-2,-1,-3","2,-1,-3","-3,-2,-3","3,-2,-3","-3,-1,-1","3,-1,-1","-3,-1,0","3,-1,0","-3,-1,1","3,-1,1","-3,-1,3","3,-1,3","-3,0,3","3,0,3","-2,-1,3","2,-1,3","-4,-1,3","4,-1,3","-3,-2,3","3,-2,3","-3,-2,1","3,-2,1","-3,-2,0","3,-2,0","-3,-2,-1","3,-2,-1","-3,-1,4","3,-1,4","-3,-1,5","3,-1,5","-3,-1,6","3,-1,6","-3,-1,7","3,-1,7","-1,-3,-2","1,-3,-2","-4,-3,-3","4,-3,-3","-4,-3,-6","4,-3,-6","-4,-3,-4","4,-3,-4","-4,-4,-4","-4,-2,-4","4,-2,-4","-3,-2,-4","3,-2,-4","-2,-2,-3","2,-2,-3","-4,-3,4","4,-3,4","-4,-3,6","4,-3,6","-4,-4,4","-4,-2,4","4,-2,4","-4,-1,0","4,-1,0","-4,3,0","4,3,0","-3,3,0","3,3,0","-3,4,0","3,4,0","-3,5,0","-3,4,2","3,4,2","-3,4,-1","3,4,-1","2,4,0","-2,4,0","2,3,0","-2,3,0","2,5,0","-2,5,0","4,-1,8","-4,-1,8","4,-1,9","-4,-1,9","3,-1,9","-3,-1,9","3,1,8","-3,1,8","-9,1,3","9,-1,3","-9,-1,3","9,2,3","-9,2,3","8,1,4","-8,1,4","8,1,2","-8,1,2","8,1,3","-8,1,3","7,1,3","-7,1,3","9,1,-3","-9,1,-3","10,1,-3","-10,1,-3","9,2,-3","-9,2,-3","9,-1,-3","-9,-1,-3","8,1,-3","-8,1,-3","8,1,-2","-8,1,-2","8,1,-4","-8,1,-4","3,-1,-9","-3,-1,-9","3,-1,-8","-3,-1,-8","3,-1,-7","-3,-1,-7","3,-2,-8","-3,-2,-8","3,-1,-10","-3,-1,-10","3,0,-9","-3,0,-9","-3,-1,2","3,-1,2","-4,-1,2","4,-1,2","-3,-3,2","3,-3,2","-2,-3,2","2,-3,2","-3,-4,2","3,-4,2","-3,-1,-2","3,-1,-2","-4,-1,-2","4,-1,-2","-3,-3,-2","3,-3,-2","-2,-3,-2","2,-3,-2","-4,-3,-2","4,-3,-2","-3,-4,-2","3,-4,-2","2,4,2","-2,4,-2","2,4,-2","-8,1,1","8,1,1","-8,1,-1","8,1,-1","-3,-2,7","3,-2,7","0,-2,-5","0,-2,-4","1,-2,-5","1,-2,-4","2,-2,-5","2,-2,-4","2,-2,-7","2,-2,-8","1,-2,-7","1,-2,-8","0,-2,-7","-1,-2,-8","-1,-2,-7","-2,-2,-7","-2,-2,-8","-1,-2,-5","-1,-2,-4","-2,-2,-5","-2,-2,-4","-2,-2,-6","-1,-2,-6","0,-2,-6","1,-2,-6","2,-2,-6","0,-1,-6","0,-1,-5","0,-1,-7","0,2,-6","1,2,-6","2,2,-6","-1,2,-6","-2,2,-6","0,1,-6","0,1,-5","0,1,-7","-2,2,-7","-1,2,-7","0,2,-7","1,2,-7","2,2,-7","2,2,-5","1,2,-5","0,2,-5","-1,2,-5","-2,2,-5","0,1,6","0,1,5","0,1,4","0,-1,5","0,-1,6","0,-1,4","0,2,4","0,2,5","0,2,6","0,-2,6","0,-2,5","0,-2,4","-1,1,4","-1,1,5","-1,1,6","-2,1,6","-2,1,5","-2,1,4","0,1,7","0,2,7","1,2,6","2,2,6","1,1,6","1,1,5","1,1,4","2,1,4","2,1,5","2,1,6","1,2,5","1,2,4","2,2,4","2,2,5","-1,-2,6","-2,-2,6","-1,-2,5","-1,-2,4","-2,-2,4","-2,-2,5","-1,-1,4","-1,-1,5","-1,-1,6","-2,-1,6","-2,-1,5","-2,-1,4","1,-2,6","1,-2,5","1,-2,4","1,-1,4","1,-1,5","1,-1,6","2,-1,6","2,-1,5","2,-1,4","2,-2,4","2,-2,5","2,-2,6","-1,2,-3","4,1,0","-4,1,0","-4,0,-2","4,0,-2","-5,0,-2","5,0,-2","-4,1,-2","-4,2,-2","-5,1,-2","-5,-1,-2","-5,-2,-2","-5,0,-1","-4,0,-1","4,0,2","5,0,2","4,0,1","5,0,1","4,1,2","4,2,2","5,1,2","5,-1,2","5,-2,2","-4,0,2","-5,0,2","-4,1,2","-4,2,2","-5,2,2","-5,0,1","-4,0,1","-5,-1,2","-5,-2,2","-7,1,0","-6,1,0","-5,1,0","-7,2,0","-6,2,0","-5,2,0","-8,2,0","-8,1,0","-7,1,1","-7,1,2","-7,2,1","-7,2,2","-6,2,1","-6,2,2","-6,1,1","-6,1,2","-5,1,1","-5,2,1","-5,2,-1","-6,2,-1","-6,2,-2","-7,2,-1","-7,2,-2","-7,1,-1","-7,1,-2","-6,1,-1","-6,1,-2","-5,1,-1","-6,-1,0","-6,-1,-1","-6,-1,1","-6,-1,-2","-6,-1,2","-6,-2,2","-6,-2,1","-6,-2,0","-6,-2,-1","-6,-2,-2","-8,-1,1","-7,-1,-2","-7,-1,-1","-7,-1,0","-7,-1,1","-7,-1,2","-7,-2,2","-7,-2,1","-7,-2,0","-7,-2,-1","-7,-2,-2","-5,-2,-1","-5,-2,0","-5,-2,1","-5,-1,1","-5,-1,0","-5,-1,-1","-6,-1,-3","-6,-2,-3","-6,-1,3","-6,-2,3","-7,-1,3","-7,-2,3","-7,-2,-3","-7,-1,-3","-5,-2,-3","-5,-1,-3","-5,-2,3","-5,-1,3","5,1,0","6,1,0","7,2,0","6,2,0","5,2,0","5,1,1","5,2,1","6,2,1","6,2,2","6,1,1","6,1,2","7,1,1","7,1,2","8,1,0","8,2,0","7,1,-1","7,2,-1","7,1,-2","7,2,-2","6,1,-2","6,2,-1","6,2,-2","5,2,-1","4,2,0","-4,2,0","-6,0,-1","6,0,-1","-6,0,1","6,0,1","6,-1,2","6,-1,1","6,-1,0","6,-1,-1","6,-1,-2","6,-2,2","6,-2,1","6,-2,0","6,-2,-1","6,-2,-2","7,-2,-2","7,-2,-1","7,-2,0","7,-2,1","7,-2,2","8,-1,1","7,-1,2","7,-1,1","7,-1,0","7,-1,-1","7,-1,-2","5,-1,1","5,-1,0","4,-1,1","5,-2,1","5,-2,0","5,-2,-1","6,-2,-3","6,-1,-3","6,-2,3","6,-1,3","-1,2,4","-1,2,5","-1,2,6","-2,2,6","-2,2,5","-2,2,4","-7,2,-3","7,2,-3","-6,2,-3","6,2,-3","-5,2,-3","5,2,-3","-7,1,-3","7,1,-3","-3,3,-1","3,3,-1","-4,3,-1","4,3,-1","-3,2,4","3,2,4","4,2,3","-4,2,3","6,2,3","-6,2,3","7,0,1","-7,0,1","7,0,-2","-7,0,-2","7,-1,3","5,-1,3","7,-1,-3","5,-1,-3","-1,1,-2","2,-1,-1","-2,-1,1","1,0,6","-1,0,6","0,-2,3","0,-1,3","0,3,1","-1,3,1","1,3,1","-1,3,3","1,3,3","-1,3,2","1,3,2","4,3,4","-4,3,4","2,3,1","-2,3,1","-2,4,1","2,4,1","0,-1,8","-9,-1,0","9,-1,0","8,-1,0","-8,-1,0","8,-2,0","-8,-2,0","0,-1,-8","0,-2,-8","0,-3,-1","-1,-3,-1","0,3,-2","0,-1,-4","1,-1,-3","0,3,4","0,3,2","0,3,3","4,1,-2","4,2,-2","5,1,-2","5,0,-1","4,0,-1","5,-2,-2","-3,-2,4","3,-2,4","-3,-2,5","3,-2,5","-3,-2,6","3,-2,6","-4,-3,3","4,-3,3","-3,-2,9","-3,-2,8","3,-2,8","-4,-2,9","4,-2,9","-4,-2,10","-2,-2,8","2,-2,8","-3,-1,8","3,-1,8","-4,0,8","4,0,8","-3,2,9","-3,-2,2","3,-2,2","-3,-2,-2","3,-2,-2","2,0,3","-2,0,3","2,0,4","-2,0,4","2,0,5","-2,0,5","2,0,6","-2,0,6","1,0,5","-1,0,5","1,0,4","-1,0,4","1,0,3","-1,0,3","-2,3,-2","2,3,-2","-3,3,1","3,3,1","-3,3,2","3,3,2","-4,3,2","4,3,2","-4,3,1","4,3,1","-4,2,1","4,2,1","-4,-1,1","-4,1,1","4,1,1","-4,1,-1","4,1,-1","-4,2,-3","4,2,-3","5,2,-2","8,-2,4","-8,-2,4","0,0,-4","0,0,3","0,0,7","-4,0,-10","4,0,-10","-3,0,-10","3,0,-10","-9,0,-10","9,0,-10","-10,0,-9","10,0,-9","-10,0,9","0,0,-15","-9,1,-10","-9,-1,-10","9,-1,-10","9,1,-10","10,1,-9","10,-1,-9","-10,1,-9","-10,-1,-9","-10,1,9","-10,-1,9","1,-2,3","-1,-2,3","2,-2,3","-2,-2,3","0,1,-9","0,-1,9","-1,-1,7","1,-1,7","-2,-1,7","2,-1,7","-3,1,7","3,1,7","-3,2,8","3,2,8","8,0,8","-8,0,8","4,3,5","-4,3,5","5,3,4","-5,3,4","5,3,-4","-5,3,-4","4,3,-5","-4,3,-5","4,3,-8","-4,3,-8","8,3,-4","-8,3,-4","8,3,4","-8,3,4","4,3,8","-4,3,8","0,-1,7","-5,1,2","-5,2,-2","4,0,7","-4,0,7","4,1,7","4,2,7","4,-1,7","4,-2,7","5,0,7","-5,0,7","6,0,7","-6,0,7","7,0,7","-7,0,7","5,1,7","6,1,7","7,1,7","5,2,7","-5,-1,7","-6,-1,7","-7,-1,7","-5,-2,7","5,-1,7","5,-2,7","7,-1,7","6,-1,7","-4,1,7","-5,1,7","-6,1,7","-7,1,7","-5,2,7","-4,2,7","-4,-1,7","-4,-2,7","-7,0,-6","7,0,-6","-6,0,-6","-5,0,-6","5,0,-6","-4,0,-6","4,0,-6","4,0,-7","-4,0,-7","-4,1,-7","-4,2,-7","-4,-1,-7","-4,-2,-7","-5,0,-7","-6,0,-7","-7,0,-7","-5,1,-7","-6,1,-7","-7,1,-7","-5,2,-7","-5,-1,-7","-6,-1,-7","-7,-1,-7","-5,-2,-7","-6,2,7","6,2,7","-7,2,7","7,2,7","7,-2,7","-7,-2,7","6,-2,7","-6,-2,7","-4,-1,-10","-4,1,-10","4,1,-10","4,-1,-10","-15,0,0","-3,1,-10","3,1,-10","-4,-2,-10","4,-2,-10","6,1,-3","0,1,-8","1,1,-8","-1,1,-8","1,2,-8","-3,2,-6","-3,2,1","-3,1,-3","-1,1,-3","-2,0,-3","-1,-1,-7","1,-1,-7","3,2,10","0,4,3","3,1,10","3,2,9","3,3,9","0,-5,0","0,-4,1","0,-4,0","0,4,-3","-1,4,2","0,4,1","10,-1,9","0,-1,10","3,-2,10","1,0,9","4,-4,-4","3,-2,9","2,3,9","1,0,10","-1,-2,9","0,1,10","3,1,9","4,-2,10","0,-2,8","6,0,-6","2,2,-2","3,5,0","1,2,-3","2,1,-3","7,1,0","5,2,2","7,-1,-6","6,1,-1","4,2,-6","5,-1,-2","4,-1,-1","5,-1,-1","-3,1,9","-3,1,10","-3,-2,10","0,-4,-1","0,4,-4","-5,2,9","10,0,9","-10,1,3","-11,0,1","3,1,1","10,1,9","-8,-1,9","-10,0,1","-7,-2,-7","7,-2,-7","-6,-2,-7","6,-2,-7","-3,2,-8","3,2,-8","1,2,-4","-1,2,-4","-1,-3,1","1,-3,1","-4,-2,-3","4,-2,-3","-4,-2,-2","4,-2,-2","-4,-2,-1","4,-2,-1","-4,-2,0","4,-2,0","-4,-2,1","4,-2,1","-4,-2,2","4,-2,2","-4,-2,3","4,-2,3","-1,-1,-6","1,-1,-6","-1,-1,-5","1,-1,-5","0,0,8","-6,2,-7","6,2,-7","-7,2,-7","7,2,-7","5,0,-7","6,0,-7","7,0,-7","4,1,-7","5,1,-7","6,1,-7","7,1,-7","4,2,-7","5,2,-7","4,-1,-7","5,-1,-7","6,-1,-7","7,-1,-7","5,-2,-7","4,-2,-7","4,0,-8","-4,0,-8","3,2,1","0,-3,1","-8,-2,-1","8,-2,-1","-8,-2,-4","8,-2,-4","-8,-2,-3","8,-2,-3","-8,-2,-2","8,-2,-2","-8,-2,-5","8,-2,-5","-8,-2,-8","8,-2,-8","-3,1,3","-3,2,3","-2,1,3","-2,2,3","-4,3,-3","4,3,-3","-3,3,-3","3,3,-3","-2,3,-3","2,3,-3","-1,3,-3","1,3,-3","1,1,2","-1,2,3","-1,1,-5","1,1,-5","-1,1,-6","1,1,-6","0,1,8","1,1,8","-1,1,8","2,1,8","-2,1,8","-8,-1,-1","8,-1,-1","-1,-1,-8","1,-1,-8","0,1,-10","0,-2,9","-2,4,-1","2,4,-1","-1,-1,-3","-1,1,3","-2,1,-8","2,1,-8","2,1,-4","1,1,-4","0,-1,-9","-1,1,-7","1,1,-7","-1,0,-4","1,0,-4","-1,1,-4","-3,2,10","9,1,3","2,-4,1","8,-1,9","2,-4,-1","15,0,0","10,0,1","10,1,3","4,-4,4","4,-3,9","-1,-4,-2"],"BLR":[2,2,2,2,0,0,0,0,3,1,1,3,1,3,2,2,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,3,1,0,8,8,8,8,8,8,8,8,8,8,8,8,21,20,17,19,21,20,17,19,17,19,9,11,0,0,16,18,16,18,16,18,23,22,23,22,23,22,10,10,0,0,3,1,3,1,11,9,2,0,10,8,19,17,20,23,22,18,16,1,3,18,4,21,23,16,16,16,9,20,3,16,17,0,17,19,2,19,4,23,23,11,23,22,6,9,6,10,5,9,5,9,7,9,4,9,4,8,5,17,20,12,17,0,23,10,4,10,6,10,4,4,4,4,4,8,4,8,4,8,14,17,2,20,22,23,6,11,6,10,7,11,7,11,7,11,4,11,4,8,7,20,2,20,13,16,0,16,4,20,19,18,4,18,19,13,3,7,17,19,17,4,22,19,22,0,0,4,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,2,0,0,3,1,21,20,19,17,0,3,1,3,1,3,1,3,1,23,22,0,0,0,0,0,0,0,3,1,3,1,1,3,2,2,2,2,2,2,2,2,2,1,3,1,3,19,17,21,10,10,10,11,11,11,8,8,8,9,9,9,10,10,9,11,17,19,9,11,5,7,6,6,23,22,22,23,17,19,9,11,20,21,1,3,0,0,5,7,17,19,16,18,5,7,16,18,17,19,16,18,9,11,9,11,9,11,9,11,17,19,20,21,4,4,5,7,13,15,13,15,13,15,13,15,22,23,6,8,1,3,1,3,1,3,2,2,2,0,0,0,0,0,12,12,12,16,18,14,14,14,14,14,13,15,12,12,12,2,2,0,0,18,16,2,14,19,17,19,17,19,17,23,22,6,6,10,10,6,6,17,19,22,23,2,2,2,2,22,23,22,23,6,6,7,5,19,17,19,17,1,3,14,14,14,14,0,0,0,0,23,22,18,16,18,16,23,22,10,10,10,10,10,10,10,10,11,9,11,9,11,9,18,16,11,9,11,9,11,9,8,8,8,8,8,8,8,8,8,8,9,8,8,8,4,4,4,4,21,20,2,2,15,13,15,13,4,4,4,4,7,5,19,17,7,5,7,5,6,6,0,0,23,0,4,4,5,18,16,12,12,12,16,18,16,18,12,12,4,20,21,16,18,18,16,18,16,18,16,18,15,13,15,13,15,13,12,12,12,12,12,12,12,12,1,3,1,3,1,3,1,3,6,6,6,6,6,6,6,6,7,5,7,5,7,5,14,15,13,21,20,21,20,17,19,17,19,3,1,3,1,3,1,2,2,2,2,2,2,2,2,3,1,3,1,0,0,0,0,0,0,3,1,3,1,1,3,2,2,0,0,20,21,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,14,14,14,4,4,21,20,20,21,8,8,8,8,8,8,8,8,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,4,0,0,0,0,1,0,0,0,2,2,6,0,0,10,10,23,22,23,22,23,22,10,2,2,2,2,0,0,14,14,10,10,1,3,11,9,11,9,23,22,0,8,8,3,1,9,11,9,11,11,9,3,1,0,0,1,3,3,1,8,8,11,9,9,11,9,11,0,0,4,4,0,0,0,0,14,14,9,11,19,17,20,21,0,0,0,0,5,7,19,17,20,21,0,0,0,0,0,0,5,7,0,0,0,10,10,10,10,1,3,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,3,15,15,15,15,15,15,3,1,1,1,1,1,1,3,3,3,3,3,0,0,0,12,12,12,0,0,0,14,14,14,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,7,5,7,5,19,19,19,18,18,11,11,9,9,9,9,16,16,16,17,17,7,7,19,19,19,7,7,18,18,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,14,14,12,14,12,14,14,14,14,14,0,14,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,13,13,15,15,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,3,3,3,3,3,3,3,0,0,2,2,0,0,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,1,1,3,3,0,0,0,0,0,0,12,12,12,12,12,12,2,2,14,14,14,14,0,0,17,19,17,19,4,4,4,4,13,13,13,13,13,13,13,0,0,1,1,2,2,2,3,1,3,1,15,13,1,3,0,0,0,0,0,1,3,15,13,2,12,6,18,0,0,8,0,10,4,16,16,16,5,5,17,0,0,0,0,0,0,2,2,0,2,2,0,0,0,1,3,1,3,1,3,0,0,0,0,0,0,0,0,0,0,0,4,4,7,5,7,5,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,2,2,8,13,2,0,0,0,0,0,0,1,3,1,0,0,0,0,0,3,3,1,1,1,1,9,11,3,1,2,10,10,10,10,10,2,2,2,2,3,1,3,1,3,1,3,1,3,1,0,0,3,1,3,1,2,2,6,19,19,16,18,17,17,16,16,16,18,16,18,16,18,17,17,17,17,19,19,19,19,16,16,16,16,18,18,18,18,18,18,19,19,21,20,21,21,20,21,20,5,7,18,18,19,19,7,7,7,18,18,18,18,19,19,19,19,19,17,19,17,19,17,19,17,0,0,0,0,1,0,0,0,0,3,0,20,18,0,0,6,0,0,14,15,13,20,0,18,0,8,12,12,0,0,1,2,3,12,0,16,4,0,11,22,4,19,0,0,14,20,21,10,0,0,1,16,20,3,21,17,2,2,0,16,0,2,22,7,3,3,21,0,3,20,16,0,0,0,0,1,3,1,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,13,15,13,0,0,0,0,0,5,5,5,17,17,17,17,17,17,16,16,16,16,16,16,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,6,3,1,3,1,3,1,0,0,2,2,3,1,3,1,8,8,8,8,8,2,2,23,22,18,4,19,17,12,20,3,1,6,0,10,3,1,21,20,23,21,0,12,21,13,3,18,1,6,12,15],"BP1":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,0.1,1,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,0,0,0","1,0,0,0","14,18,170,51","26,9,80,51","26,18,170,51","0,0,0,6","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,180,0,200","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,1,0.5,0.25","0,1,0.5,0.25","0,0,0,0","0,1,0.5,0.25","0,0,0,0","0,1,0.5,0.25","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,1,0.5,0.25","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0.25,0.25,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,3","0,0,0,3","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0.009390262,3","0,0,0,3","0,0,0,3","0,0,0.009390261,3","0,0,0,1","0,0,0.009390261,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","50,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","0,0,0,1","14,9,82,51","0,0,0,0","0,0,0,0","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,2","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,0,0,0","0,0,0,0","0,0,0,0","0,1,0.5,0.25","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0.009390262,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BP2":["0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","1,-1,-1,-1","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","5000,10,0,0","4000,0,8,0","5000,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5439875,4","10,1,0.5439875,4","10,1,0.5533777,4","10,1,0.562768,4","10,1,0.562768,4","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5533777,4","10,1,0.562768,4","10,1,0.562768,4","10,1,0.5439875,4","10,1,0.5439875,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5814088,4","10,1,0.5814088,4","10,1,0.5814088,4","10,1,0.5814088,4","10,1,0.5814088,4","10,1,0.5814088,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","100,250,50,15","0,0,0,0","0,0,0,0","10,1,0,4","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5439875,4","10,1,0.5439875,4","10,1,0.5439875,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5439875,4","10,1,0.5439875,4","10,1,0.5720186,4","10,1,0.5439875,4","10,1,0.5720186,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.562768,4","10,1,0.562768,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.5907991,4","10,1,0.5907991,4","10,1,0.562768,4","10,1,0.562768,4","10,1,0.562768,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","3000,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","10,1,0.562768,4","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0","0,0,0,0"],"BCI":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,3,2,3,2,2,2,3,0,3,2,0,3,0,3,0,2,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,3,0,3,0,3,0,3,0,3,2,3,2,2,2,3,2,0,3,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"BEI":[91.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,94.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,97.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,100.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,146.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,149.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,152.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,155.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,438.0,5.0,8787902.0,0.12,0.31,1.0,9798003.0,439.0,5.0,8787902.0,0.12,0.31,1.0,9798003.0,828.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,829.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,830.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,835.0,10.0,8787903.0,0.01,0.1,1.0,0.1,0.1,-0.5,-1.0,-0.1,9798004.0,836.0,25.0,8787901.0,0.0,2.0,17.0,66.0,111.0,116.0,116.0,111.0,109.0,32.0,84.0,117.0,114.0,114.0,101.0,116.0,115.0,32.0,65.0,73.0,0.2,0.1,0.1,9798002.0,892.0,4.0,8787889.0,200.0,90.0,9797990.0,903.0,4.0,8787889.0,200.0,90.0,9797990.0,914.0,4.0,8787889.0,250.0,90.0,9797990.0,1022.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1023.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1024.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1025.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1026.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1030.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1031.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1032.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1033.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1034.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1048.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1049.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1050.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1051.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1052.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1053.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1107.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1108.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1118.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1127.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1136.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1137.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1138.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1164.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1165.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1166.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1167.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1168.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1203.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1204.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1232.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1233.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1234.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1235.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1236.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1277.0,3.0,8787891.0,1.0,9797992.0,1278.0,3.0,8787891.0,1.0,9797992.0,1279.0,3.0,8787891.0,1.0,9797992.0,1280.0,3.0,8787891.0,1.0,9797992.0,1315.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,12.0,15.0,25.0,3.0,0.0,30.0,0.0,9798001.0,1318.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,11.0,15.0,25.0,2.0,-5.0,30.0,0.0,9798001.0,1319.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,11.0,15.0,25.0,2.0,5.0,30.0,0.0,9798001.0,1322.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,11.0,15.0,25.0,2.0,0.0,30.0,0.0,9798001.0,1324.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,4.4,25.0,25.0,3.0,0.0,2.0,0.0,9798001.0,1330.0,17.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,8787900.0,4.4,25.0,25.0,2.0,0.0,4.0,0.0,9798001.0,1351.0,4.0,8787889.0,250.0,90.0,9797990.0,1402.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1403.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1404.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1405.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1406.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1407.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1408.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1409.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1410.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1411.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1412.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1413.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1414.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1415.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1416.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1417.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1418.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1419.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1420.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1421.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1457.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1458.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1489.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1490.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1491.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1492.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1493.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1494.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1495.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1496.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1497.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1521.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1522.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1523.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1524.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1525.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1526.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1527.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1528.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1529.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1530.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1531.0,22.0,8787901.0,0.0,2.0,14.0,84.0,111.0,112.0,32.0,84.0,117.0,114.0,114.0,101.0,116.0,115.0,32.0,65.0,73.0,1.0,1.0,2.0,9798002.0,1534.0,10.0,8787903.0,0.01,0.1,1.0,0.1,0.1,-1.0,1.0,1.5,9798004.0,1542.0,7.0,8787892.0,20.0,30.0,1.0,1.0,0.0,9797993.0,1547.0,5.0,8787902.0,0.13,0.1,1.0,9798003.0,1548.0,5.0,8787902.0,0.12,0.31,1.0,9798003.0,1550.0,5.0,8787902.0,0.17,0.1,1.0,9798003.0,1553.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1555.0,4.0,8787889.0,200.0,90.0,9797990.0,1557.0,4.0,8787889.0,200.0,90.0,9797990.0,1564.0,4.0,8787889.0,250.0,90.0,9797990.0,1566.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1568.0,4.0,8787889.0,250.0,90.0,9797990.0,1571.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1581.0,4.0,8787889.0,200.0,90.0,9797990.0,1582.0,5.0,8787902.0,0.12,0.31,1.0,9798003.0,1585.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1589.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1687.0,5.0,8787902.0,0.15,0.16,1.0,9798003.0,1699.0,7.0,8787892.0,20.0,30.0,1.0,1.0,0.0,9797993.0,1704.0,8.0,8787880.0,0.0,0.0,0.0,0.0,0.0,0.0,9797981.0,1707.0,4.0,8787889.0,200.0,90.0,9797990.0],"designChanged":false,"blueprintVersion":25,"blueprintName":"Izapu - Simple Laser Hovercraft","Id":822889,"Name":"Izapu - Simple Laser Hovercraft","ItemNumber":145,"Parameter1":"0.9,0.9,0.5,0","Parameter2":"39,2,1,2","LocalPosition":"-30372.75,240.9848,-31251.55","LocalRotation":"0.001398662,-0.110421,-0.001499372,0.9938828","ForceId":318934240,"TotalBlockCount":2538,"LastAliveBlock":1710,"IndexOfFirstBlockNeedingFullRepairCost":1000000,"MaxCords":"15,5,14","MinCords":"-15,-5,-15","BlockIds":[573,573,572,572,572,572,573,573,573,573,573,573,573,573,573,573,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,55,54,54,55,54,54,55,54,54,55,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,55,54,54,55,54,54,55,54,54,55,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,535,535,537,537,535,314,314,314,314,314,314,314,314,314,314,314,314,579,579,579,579,579,579,579,579,579,579,535,535,419,419,579,579,579,579,579,579,579,579,579,579,579,579,535,535,419,419,573,573,535,535,537,537,535,535,537,537,467,467,467,467,467,467,467,572,572,219,213,219,210,213,218,218,199,221,199,213,206,199,199,220,199,220,213,220,199,199,207,213,198,201,198,201,198,201,198,201,197,201,198,201,198,201,198,199,213,199,221,199,218,201,197,201,198,201,200,200,200,200,200,201,197,201,198,201,199,221,210,218,218,213,198,201,198,201,198,201,198,201,197,201,198,201,198,201,198,199,208,207,213,220,210,220,213,220,213,206,199,199,218,199,221,199,213,218,219,213,219,199,220,12,12,203,334,334,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,49,334,334,40,40,581,580,581,580,15,578,578,578,578,578,578,584,587,584,587,578,578,578,584,587,573,573,573,573,573,573,573,573,578,578,578,584,587,573,573,573,573,572,572,572,572,574,575,574,576,576,576,576,576,576,576,576,576,576,576,576,596,600,596,600,596,600,596,600,574,575,574,575,465,465,576,576,588,594,588,594,576,576,576,576,424,424,576,576,576,576,576,576,588,594,588,594,576,576,576,576,576,576,576,576,576,576,576,576,576,576,576,576,596,600,596,600,578,578,578,578,578,578,584,587,584,587,204,204,572,572,572,572,572,572,572,571,571,571,571,572,572,572,578,578,578,584,587,584,587,578,578,578,600,596,596,596,600,573,573,573,573,465,465,576,576,576,576,576,576,576,576,588,594,588,594,596,600,574,575,576,576,596,600,576,576,576,576,590,592,592,590,573,573,574,575,576,576,596,600,571,571,576,576,576,576,571,571,571,571,596,600,590,592,592,590,581,580,600,596,576,576,576,576,576,576,576,576,576,576,576,576,581,580,576,576,576,576,576,576,576,576,576,576,576,576,596,600,596,600,596,576,576,576,573,573,574,575,576,576,571,571,576,576,576,576,600,596,573,573,574,575,576,576,576,576,576,576,596,600,571,571,465,576,574,575,574,576,576,576,576,576,576,576,596,600,596,600,588,588,594,576,576,576,576,576,571,571,571,571,576,576,576,576,576,576,581,580,576,576,576,576,576,576,573,573,573,573,573,573,573,573,576,576,576,576,576,576,581,580,576,576,576,576,576,576,576,576,576,592,590,590,592,590,592,592,590,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,573,26,26,573,573,275,275,171,171,249,249,249,261,275,275,275,8,16,236,226,226,226,226,226,226,227,227,232,232,232,232,232,232,232,232,247,247,247,247,247,247,223,223,231,231,231,231,231,231,231,231,231,231,231,231,231,231,222,222,222,222,222,222,222,222,572,572,424,424,571,571,226,226,229,226,226,226,226,573,424,226,226,571,571,229,226,226,234,234,234,234,226,226,226,226,229,571,571,571,571,15,15,49,49,35,35,573,573,573,573,571,571,49,49,15,571,571,571,571,571,571,571,571,49,49,573,573,15,15,35,35,571,571,571,571,49,49,571,571,571,571,15,15,49,49,572,572,573,573,35,35,572,572,247,247,231,231,15,15,424,424,35,35,247,247,231,231,15,15,424,424,424,424,35,35,266,266,266,571,571,571,571,572,572,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,54,53,53,55,55,55,55,55,54,53,53,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,54,54,54,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,0,26,26,55,55,54,54,53,53,53,53,53,53,53,55,54,53,53,53,53,53,53,53,55,54,53,53,53,53,53,53,53,55,55,55,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,54,54,54,54,54,573,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,275,275,275,275,275,275,275,275,55,55,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,571,571,571,571,55,55,55,55,55,54,54,54,54,54,53,53,53,53,53,573,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,251,251,251,251,251,251,251,251,316,316,316,316,353,353,327,327,327,327,327,327,327,327,327,327,327,327,353,353,353,419,419,53,53,325,318,318,318,318,317,317,573,573,317,317,424,424,270,419,419,270,270,269,269,270,269,270,269,419,226,26,419,270,269,53,53,53,53,53,53,226,226,234,234,419,419,571,571,226,234,234,226,226,229,536,536,537,537,535,535,15,49,49,49,49,15,15,15,15,15,15,45,45,45,45,45,45,45,45,571,571,317,317,317,317,317,317,317,317,317,317,353,353,353,327,327,353,353,53,573,573,535,353,535,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,334,334,337,337,274,537,535,535,535,535,535,535,535,535,535,535,266,266,266,266,266,266,266,266,572,572,572,572,572,572,572,572,536,53,53,55,55,53,53,53,53,54,54,54,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,55,55,55,55,55,55,55,55,55,53,53,53,53,54,54,54,53,53,53,53,53,53,53,53,571,571,571,571,571,571,571,571,69,69,69,69,69,69,69,69,69,249,16,12,51,8,275,26,15,51,49,536,536,32,424,35,15,576,19,40,15,28,572,573,69,576,229,576,229,226,600,465,594,171,15,229,269,55,219,229,1,15,55,53,53,53,53,53,53,53,15,35,229,40,574,575,69,35,467,15,69,579,465,571,571,571,571,573,571,572,572,571,572,226,226,226,226,226,226,226,226,226,226,226,226,226,226,536,536,536,536,275,571,571,571,571,54,54,54,53,53,53,53,53,53,53,53,53,53,53,53,424,424,26,548,424,424,314,314,314,314,314,314,314,314,572,572,15,26,15,26,275,275,275,275,275,275,419,419,337,353,541,541,541,541,541,541,541,559,553,557,555,553,559,171,540,581,580,50,26,559,553,27,424,541,541,541,545,549,571,32,15,600,579,600,69,465,35,229,576,596],"BlockStringData":["useJets         = true\nuseDediSpinners = true\nuseAllSpinners  = false\n\norbiterMode        = \"off\"        -- \"off\": the default frontal mode, \"both\": doesn't have a preferred side, \"left\"/\"right\": only uses one side to fight\nmatchAltitude      = false        -- In combat will match the target's altitude(evasion will use this altitude as base, minAltitude and maxAltitude still apply).\nrepairMode         = false        -- Won't fight but try to repair friendlies\nisSatellite        = false        -- Will aim at the target with the bottom\nrepairClosestFirst = true         -- In repair mode goes to help the most damaged ally first on false\nminDamageNoticed   = 1            -- 0.95 means the craft won't bother with anything above 95% health\n\noptimalAltitude         = 240     -- Move at this height when in combat/stay this many meters above target in repair mode(can be negative for repair)\noptimalDistance         = 420    -- Try to maintain this distance from target in both modes(doesn't take altitude into account). If you want to get close consider reducing maxPitchMagnitude. -1 means staying stationary.\nminAltitude             = 120      -- Measured at center of mass, leave some clearance\nmaxAltitude             = 400     -- Without space captain above 300 the atmosphere starts to thin out. Use space propulsion if you want to go much higher\nmaxPitchMagnitude       = 75      -- Pitch with a bigger absolute value will be clamped to match this\nmaxRoll                 = 75       -- Max roll\npitchMovementAssist     = 15       -- Max angle to pitch at to help forward/backwards movement\nrollMovementAssist      = 22       -- Max angle to roll at to help left/right movement\nevasiveAltitudeChange   = 30       -- Vertical evasive manouvers add/subtract this to/from altitude\nevasiveLeftPeriod       = 5       -- Go left for this amount of time(seconds)\nevasiveRightPeriod      = 7       -- Go right for this amount of time(seconds)\nuseBalloons             = false    -- Set it to false when not using balloons for water start\nballonDeployAltitude    = 0       -- Deploy balloons below this one\nballonReleaseAltitude   = 100     -- Cut balloons above this\naltitudeFeedbackMeters  = 10      -- Writes the new target altitude to HUD in off/on/combat mode, if it changed by at least this much. 0 turns feedback off.\n\n-- Used for getting a serial number(that's not used for anything right now)\nblueprintName = \"SimpleLaserUFOAI\"\n\n-- Tune PIDs here\n--                       P,        D,       I,    OutMax,   OutMin,    IMax,    IMin\nrollPIDData     = {   0.05,     0.01,     0.0,         1,       -1,       1,      -1}\npitchPIDData    = {    0.1,     0.02,     0.0,         1,       -1,       1,      -1}\naltitudePIDData = {    0.2,     0.05,    0.01,         1,       -1,       1,      -1}\nyawPIDData      = {    0.1,     0.02,     0.0,         1,       -1,       1,      -1}\nslipPIDData     = {   0.05,     0.05,     0.0,         1,       -1,       1,      -1}\ndistancePIDData = {    0.1,      0.5,     0.0,         1,       -1,       1,      -1}\n\nfunction Init(I)\n    -- forgive me for I have sinned\n    API = I\n\n    if not VehicleState then\n        VehicleState = {}\n    end\n    VehicleState.centerOfMass       = API:GetConstructCenterOfMass()\n    VehicleState.pitch              = -API:GetConstructPitch()\n    VehicleState.roll               = API:GetConstructRoll()\n    VehicleState.forwardVector      = API:GetConstructForwardVector()\n    VehicleState.upVector           = API:GetConstructUpVector()\n    VehicleState.yaw                = API:GetConstructYaw()\n    VehicleState.speed              = API:GetForwardsVelocityMagnitude()\n    VehicleState.currentTime        = API:GetTime()\n    VehicleState.velocity           = API:GetVelocityVector()\n    VehicleState.AICount            = API:GetNumberOfMainframes()\n    VehicleState.flagship           = API.Fleet.Flagship\n\n    propulsionAngleTolerance        = 0.5\n    local horizontalProjection      = Vector3(VehicleState.forwardVector.x, 0, VehicleState.forwardVector.z)\n\n    VehicleState.projectionRotation = Quaternion.Inverse(Quaternion.LookRotation(horizontalProjection, VehicleState.upVector))\n    VehicleState.normalRotation     = Quaternion.Inverse(Quaternion.LookRotation(VehicleState.forwardVector, VehicleState.upVector))\n\n    VehicleState.target = GetCombatTarget()\n    if repairMode then\n        VehicleState.repairTarget = GetRepairTarget()\n    end\n\n    VehicleState.targetPosition = nil\n\n    if API.AIMode == \"fleetmove\" and API.IsFlagship then\n        VehicleState.AIMode = \"patrol\"\n    else\n        VehicleState.AIMode = API.AIMode\n    end\n\n    if VehicleState.pitch<-180 then\n        VehicleState.pitch = VehicleState.pitch+360\n    end\n    if VehicleState.roll>180 then\n        VehicleState.roll = VehicleState.roll-360\n    end\n\n    if not VehicleState.serial then\n        SetSerial()\n        InitPIDs()\n        \n        if API:Component_GetCount(8) == 0 then\n            VehicleState.hasAltitudeControl = false\n            VehicleState.adjustedAltitude   = optimalAltitude\n        else\n            VehicleState.hasAltitudeControl = true\n            SetAltitudeHydrofoil(optimalAltitude)\n        end\n    end\n\n    if VehicleState.hasAltitudeControl then\n        SetupAltitudeControl()\n    end\nend\n\nfunction SetupAltitudeControl()\n    local altitudeFlag = API:Component_GetFloatLogic(8, 0) + 45\n    local newAltitude  = minAltitude + ((maxAltitude-minAltitude) * altitudeFlag / 90)\n\n    if altitudeFeedbackMeters > 0 then\n        local promptAltitude = math.floor(newAltitude / altitudeFeedbackMeters) * altitudeFeedbackMeters\n\n        if not VehicleState.lastAltitudePrompt or math.abs(promptAltitude - VehicleState.lastAltitudePrompt) >= altitudeFeedbackMeters then\n            if VehicleState.AIMode == \"on\" or VehicleState.AIMode == \"off\" or VehicleState.AIMode == \"combat\" then\n                API:LogToHud(\"Altitude: \" .. promptAltitude .. \"m\")\n            end\n            VehicleState.lastAltitudePrompt = promptAltitude\n        end\n    end\n    VehicleState.adjustedAltitude = newAltitude\nend\n\nfunction SetAltitudeHydrofoil(newAltitude)\n    local relativeAltitude = math.min(math.max(newAltitude, minAltitude), maxAltitude) - minAltitude\n    local altitudeFraction = relativeAltitude / (maxAltitude-minAltitude)\n    local normalizedRange  = altitudeFraction - 0.5\n    local fullAngle        = normalizedRange * 90\n\n    -- initialize altitude flag hydrofoil angle\n    API:Component_SetFloatLogic(8, 0, math.min(math.max(fullAngle, -45), 45))\nend\n\n-- Take over all jets, not just vertical ones\nfunction EnableAllJets()\n    VehicleState.jetsAtMax = 0\n\n    if useJets then\n        for i=0,3 do\n            API:RequestThrustControl(i)\n        end\n        for i=6,9 do\n            API:RequestThrustControl(i)\n        end\n    end\nend\n\nfunction ResetJetStrengths()\n    if not VehicleState.jetsAtMax or VehicleState.jetsAtMax == 0 then\n        API:Component_SetFloatLogicAll(9,1)\n        VehicleState.jetsAtMax = 1\n    end\nend\n\nfunction SetupPropulsion()\n    -- Send an 'on' signal to vertical jets\n    if useJets then\n        -- up/down\n        API:RequestThrustControl(4)\n        API:RequestThrustControl(5)\n        -- pitch up/down\n        API:RequestControl(2, 4, 1)\n        API:RequestControl(2, 5, 1)\n    end\n\n    if VehicleState.AIMode == \"on\" or VehicleState.AIMode == \"off\" then\n        -- Manual mode, lay off side/forward propulsion strengths\n        ResetJetStrengths()\n    else\n        -- Automatic, toggle everything on\n        EnableAllJets()\n    end\n\n    JetManager = {\n        propulsionCount = API:Component_GetCount(9),\n        GetComponent    = function (serial) return API:Component_GetBlockInfo(9,serial) end,\n        SetImpulse      = function (serial,impulse) API:Component_SetFloatLogic(9,serial,math.min(math.max(impulse, 0),1)) end,\n        GetFowardVector = function (propulsion) return propulsion.Forwards end,\n        type            = \"jet\"\n    }\n    RotorManager = {\n        propulsionCount = API:GetSpinnerCount(),\n        GetComponent    = function (serial) return API:GetSpinnerInfo(serial) end,\n        SetImpulse      = function (serial,impulse) if useAllSpinners or API:IsSpinnerDedicatedHelispinner(serial) then API:SetSpinnerInstaSpin(serial, math.min(math.max(impulse, -1),1)) end end,\n        GetFowardVector = function (propulsion) return QuaternionUpVector(propulsion.Rotation) end,\n        type            = \"spinner\"\n    }\n\n    PropulsionManagers = {}\n    if useAllSpinners or useDediSpinners then\n        table.insert(PropulsionManagers, RotorManager)\n    end\n    if useJets then\n        table.insert(PropulsionManagers, JetManager)\n    end\n\n    PropulsionComponents = {}\n    for i=1,table.getn(PropulsionManagers),1 do\n        for j=0,PropulsionManagers[i].propulsionCount-1,1 do\n            local component             = PropulsionManagers[i].GetComponent(j)\n            local globalOrientation     = PropulsionManagers[i].GetFowardVector(component)\n            local localOrientation      = VehicleState.normalRotation * globalOrientation\n            local horizontalOrientation = VehicleState.projectionRotation * globalOrientation\n            local position              = VehicleState.normalRotation * (component.Position - VehicleState.centerOfMass)\n\n\n            local currentComponent = {\n                serial                = j,\n                position              = position,\n                globalOrientation     = globalOrientation,\n                localOrientation      = localOrientation,\n                horizontalOrientation = horizontalOrientation,\n                sendImpulse           = PropulsionManagers[i].SetImpulse,\n                type                  = PropulsionManagers[i].type\n            }\n            table.insert(PropulsionComponents, currentComponent)\n        end\n    end\nend\n\nfunction AddComponentImpulse(component, impulse)\n    if not component.impulse then\n        component.impulse = impulse\n    else\n        component.impulse = component.impulse + impulse\n    end\nend\n\nfunction AddPitchOutput(pitchInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n\n        if math.abs(component.localOrientation.y)>propulsionAngleTolerance then\n            -- pitch\n            if component.position.z<-0.05 then\n                AddComponentImpulse(component, -pitchInput * component.localOrientation.y)\n            elseif component.position.z>0.05 then\n                AddComponentImpulse(component, pitchInput * component.localOrientation.y)\n            end\n        end\n    end\nend\n\nfunction AddRollOutput(rollInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n\n        if math.abs(component.localOrientation.y)>propulsionAngleTolerance then\n            if component.position.x<-0.05 then\n                AddComponentImpulse(component, -rollInput * component.localOrientation.y)\n            elseif component.position.x>0.05 then\n                AddComponentImpulse(component, rollInput * component.localOrientation.y)\n            end\n        end\n        if VehicleState.AIMode ~= \"off\" and VehicleState.AIMode ~= \"on\" then\n            if math.abs(component.localOrientation.x)>propulsionAngleTolerance then\n                if component.position.y<-0.05 then\n                    AddComponentImpulse(component, rollInput * component.localOrientation.x)\n                elseif component.position.y>0.05 then\n                    AddComponentImpulse(component, -rollInput * component.localOrientation.x)\n                end\n            end\n        end        \n    end\nend\n\nfunction AddYawOutput(yawInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n\n        if math.abs(component.localOrientation.x)>propulsionAngleTolerance then\n            if component.position.z<-0.05 then\n                AddComponentImpulse(component, -yawInput * component.localOrientation.x)\n            elseif component.position.z>0.05 then\n                AddComponentImpulse(component, yawInput * component.localOrientation.x)\n            end\n        end\n    end\nend\n\nfunction AddAltitudeOutput(altitudeInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n        local magnitude = (component.globalOrientation.y > 0 and 1 or -1)\n\n        if math.abs(component.globalOrientation.y)>propulsionAngleTolerance then\n            AddComponentImpulse(component, altitudeInput * magnitude)\n        end\n    end\nend\n\nfunction AddSlipOutput(slipInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n        local magnitude = (component.horizontalOrientation.x > 0 and 1 or -1)\n\n        if math.abs(component.horizontalOrientation.x)>propulsionAngleTolerance then\n            AddComponentImpulse(component, slipInput * magnitude)\n        end\n    end\nend\n\nfunction AddForwardOutput(forwardInput)\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n        local magnitude = (component.horizontalOrientation.z > 0 and 1 or -1)\n\n        if math.abs(component.horizontalOrientation.z)>propulsionAngleTolerance then\n            AddComponentImpulse(component, forwardInput * magnitude)\n        end\n    end\nend\n\nfunction SendPropulsionImpulses()\n    for i=1,table.getn(PropulsionComponents) do\n        local component = PropulsionComponents[i]\n\n        if component.impulse ~= nil then\n            component.sendImpulse(component.serial, component.impulse)\n        else\n            if component.type == \"spinner\" then\n                API:SetSpinnerSpeedFactor(component.serial, 1)\n            end\n        end\n    end\nend\n\nfunction SetPitch(targetPitch)\n    targetPitch               = math.max(math.min(targetPitch, maxPitchMagnitude), -maxPitchMagnitude)\n    pitchInput,pitchPID       = GetPIDOutput(targetPitch, VehicleState.pitch, pitchPID)\n\n    AddPitchOutput(pitchInput)\nend\n\nfunction SetRoll(targetRoll)\n    targetRoll                = math.max(math.min(targetRoll, maxRoll), -maxRoll)\n    rollInput,rollPID         = GetPIDOutput(targetRoll,  VehicleState.roll,  rollPID)\n\n    AddRollOutput(rollInput)\nend\n\nfunction SetAltitude(targetAltitude)\n    local highestTerrainAhead = HighestTerrainAhead()\n\n    targetAltitude            = math.min(math.max(targetAltitude, highestTerrainAhead+minAltitude), maxAltitude)\n    altitudeInput,altitudePID = GetPIDOutput(targetAltitude, VehicleState.centerOfMass.y, altitudePID)\n\n    AddAltitudeOutput(altitudeInput)\nend\n\nfunction Turn(targetAzi)\n    yawInput,yawPID = GetPIDOutput(0, targetAzi, yawPID)\n\n    AddYawOutput(yawInput)\nend\n\nfunction SetSlipSpeedForDistance(distance)\n    slipSpeed,slipPID = GetPIDOutput(0, distance, slipPID)\n\n    AddSlipOutput(slipSpeed)\n    SetRoll(-rollMovementAssist * slipSpeed)\nend\n\nfunction SetForwardSpeedForDistance(distance, usePitch)\n    forwardSpeed,distancePID = GetPIDOutput(0, distance, distancePID)\n\n    AddForwardOutput(-forwardSpeed)\n    if usePitch then\n        SetPitch(pitchMovementAssist * forwardSpeed)\n    end\nend\n\nfunction GetFrontalEvasionData()\n    evasionData = {\n        slip           = 0,\n        altitudeChange = evasiveAltitudeChange * math.sin(VehicleState.currentTime)\n    }\n\n    local slipCycleDuration = evasiveRightPeriod + evasiveLeftPeriod\n    if slipCycleDuration == 0 then\n        return evasionData\n    end\n\n    local slipCycleTime = VehicleState.currentTime%slipCycleDuration\n    if slipCycleTime < evasiveRightPeriod then\n        evasionData.slip = 1\n    else\n        evasionData.slip = -1\n    end\n    \n    if math.abs(VehicleState.pitch) > 45 then\n        evasionData.altitudeChange = 0\n    end\n\n    return evasionData\nend\n\nfunction GetOrbitEvasionPitchOutput(altitude)\n    if not pitchDown then\n        pitchDown = false\n    end\n    \n    if VehicleState.centerOfMass.y > altitude + evasiveAltitudeChange then\n        pitchDown = true\n    elseif VehicleState.centerOfMass.y < altitude - evasiveAltitudeChange then\n        pitchDown = false\n    end\n    \n    if VehicleState.pitch < -maxPitchMagnitude then\n        pitchDown = false\n    elseif VehicleState.pitch > maxPitchMagnitude then\n        pitchDown = true\n    end\n\n    if pitchDown then\n        return -1\n    else\n        return 1\n    end\nend\n\nfunction HighestTerrainAhead()\n    local maxAltitude = 0\n    local nextAltitude\n\n    local xStep = VehicleState.velocity.x\n    local zStep = VehicleState.velocity.z\n    \n    for i=-0.5,5,0.25 do\n        nextAltitude = API:GetTerrainAltitudeForPosition(VehicleState.centerOfMass.x + xStep*i, VehicleState.centerOfMass.y, VehicleState.centerOfMass.z + zStep*i)\n        if nextAltitude>maxAltitude then\n            maxAltitude = nextAltitude\n        end\n    end\n    return maxAltitude\nend\n\nfunction GetCombatTarget()\n    local target = API:GetTargetPositionInfo(0,0)\n\n    if target.Valid then\n        local azimuth\n        if target.Azimuth>180 then\n            azimuth = target.Azimuth-360\n        else\n            azimuth = target.Azimuth\n        end\n\n        return {\n            Elevation      = -math.deg(math.atan((VehicleState.centerOfMass.y-target.AltitudeAboveSeaLevel) / target.GroundDistance)),\n            Azimuth        = azimuth,\n            GroundDistance = target.GroundDistance,\n            Altitude       = target.AltitudeAboveSeaLevel\n        }\n    else\n        return false\n    end\nend\n\nfunction GetRepairTarget()\n    -- Lower means more important\n    local highestPriorityValue = 1000000\n    local targetData = false\n    local friendlyCount = API:GetFriendlyCount()\n\n    for i=0,friendlyCount-1,1 do\n        local friendly = API:GetFriendlyInfo(i)\n        local targetCenterOfMass = friendly.CenterOfMass\n\n        local health = friendly.HealthFraction\n        if health<=minDamageNoticed and health<1 then\n            if not repairClosestFirst then\n                if health<highestPriorityValue then\n                    targetData = friendly\n                    highestPriorityValue = health\n                end\n            else\n                local distance = math.sqrt( (targetCenterOfMass.x-VehicleState.centerOfMass.x)*(targetCenterOfMass.x-VehicleState.centerOfMass.x)\n                                           +(targetCenterOfMass.z-VehicleState.centerOfMass.z)*(targetCenterOfMass.z-VehicleState.centerOfMass.z) )\n                if distance<highestPriorityValue then\n                    targetData = friendly\n                    highestPriorityValue = distance\n                end\n            end\n        end\n    end\n\n    if targetData then\n        return GetDirectionToCoordinates(targetData.CenterOfMass)\n    else\n        return false\n    end\nend\n\nfunction SetSerial()\n    local friendlyCount = API:GetFriendlyCount()\n\n    local cloneCount = 0\n    for i=0,friendlyCount-1,1 do\n        local friendly = API:GetFriendlyInfo(i)\n\n        if friendly.BlueprintName==blueprintName then\n            cloneCount = cloneCount+1\n        end\n    end\n    VehicleState.serial = cloneCount\nend\n\nfunction SetTargetPosition(position)\n    VehicleState.targetPosition = GetDirectionToCoordinates(position)\n\n    VehicleState.targetPosition.x             = position.x\n    VehicleState.targetPosition.y             = position.y\n    VehicleState.targetPosition.z             = position.z\n    VehicleState.targetPosition.sideDistance  = math.sin(math.rad(VehicleState.targetPosition.Azimuth)) * VehicleState.targetPosition.GroundDistance\n    VehicleState.targetPosition.frontDistance = math.cos(math.rad(VehicleState.targetPosition.Azimuth)) * VehicleState.targetPosition.GroundDistance\nend\n\nfunction PitchToTarget()\n    if isSatellite then\n        SetPitch(VehicleState.target.Elevation + 90)\n    else\n        if math.abs(VehicleState.target.Azimuth) > 10 then\n            SetPitch(0)\n        else\n            SetPitch(VehicleState.target.Elevation)\n        end\n    end\nend\n\nfunction Guard()\n    SetTargetPosition(VehicleState.flagship.CenterOfMass + VehicleState.flagship.Rotation * API.IdealFleetPosition)\n    SetAltitude(VehicleState.targetPosition.y)\n    SetAltitudeHydrofoil(VehicleState.targetPosition.y)\n\n    if not VehicleState.target then\n        if not API.IsFlagship then\n            Turn(GetVectorAngle(VehicleState.flagship.ForwardVector, VehicleState.forwardVector))\n        end\n\n        SetSlipSpeedForDistance(VehicleState.targetPosition.sideDistance)\n        SetForwardSpeedForDistance(VehicleState.targetPosition.frontDistance, true)\n    else\n        PitchToTarget()\n        Turn(VehicleState.target.Azimuth)\n        SetSlipSpeedForDistance(VehicleState.targetPosition.sideDistance)\n        SetForwardSpeedForDistance(VehicleState.targetPosition.frontDistance, false)\n    end\nend\n\nfunction Patrol()\n    SetTargetPosition(API.Waypoint)\n    SetAltitude(VehicleState.targetPosition.y)\n    SetAltitudeHydrofoil(VehicleState.targetPosition.y)\n    \n    if not VehicleState.target then\n        if VehicleState.targetPosition.GroundDistance > 200 then\n            local slipSpeed = GetSlipSpeed() * 5\n            slipOutput,slipPID = GetPIDOutput(0, slipSpeed, slipPID)\n\n            AddSlipOutput(slipOutput)\n            SetRoll(-rollMovementAssist * slipOutput)\n        \n            Turn(VehicleState.targetPosition.Azimuth)\n            SetForwardSpeedForDistance(VehicleState.targetPosition.GroundDistance, true)\n        else\n            SetSlipSpeedForDistance(VehicleState.targetPosition.sideDistance)\n            SetForwardSpeedForDistance(VehicleState.targetPosition.frontDistance, true)\n        end\n    else\n        PitchToTarget()\n        Turn(VehicleState.target.Azimuth)\n        SetSlipSpeedForDistance(VehicleState.targetPosition.sideDistance)\n        SetForwardSpeedForDistance(VehicleState.targetPosition.frontDistance, false)\n    end\nend\n\nfunction Repair()\n    local evasion = GetFrontalEvasionData()\n\n    AddSlipOutput(evasion.slip)\n    SetRoll(-rollMovementAssist * evasion.slip)\n\n    Turn(VehicleState.repairTarget.Azimuth)    \n    SetAltitude(VehicleState.repairTarget.Altitude + VehicleState.adjustedAltitude + evasion.altitudeChange)\n    SetForwardSpeedForDistance(VehicleState.repairTarget.GroundDistance - optimalDistance, true)\nend\n\nfunction FrontalFight()\n    if not VehicleState.target then\n        Idle()\n        return\n    end\n\n    local evasion = GetFrontalEvasionData()\n    if math.abs(VehicleState.target.Azimuth) < 10 then\n        AddSlipOutput(evasion.slip)\n        SetRoll(-rollMovementAssist * evasion.slip)\n    else\n        SetRoll(0)\n    end\n\n    if matchAltitude then\n        SetAltitude(VehicleState.target.Altitude + evasion.altitudeChange)\n    else\n        SetAltitude(VehicleState.adjustedAltitude + evasion.altitudeChange)\n    end\n\n    PitchToTarget()\n    Turn(VehicleState.target.Azimuth)\n    SetForwardSpeedForDistance(VehicleState.target.GroundDistance - optimalDistance, false)\nend\n\nfunction CircleTarget()\n    if not VehicleState.target then\n        Idle()\n        return\n    end\n\n    local sign = 1\n    if orbiterMode == \"left\" then\n        sign = 1\n    elseif orbiterMode == \"right\" then\n        sign = -1\n    elseif VehicleState.target.Azimuth < 0 then\n        sign = -1\n    end\n\n    local optimalAzi = sign * 90 - sign * 45 * math.min(math.max((VehicleState.target.GroundDistance - optimalDistance) / 200, -1), 1)\n\n    if math.abs(90 - math.abs(VehicleState.target.Azimuth)) < 20 then\n        SetRoll(-sign * VehicleState.target.Elevation)\n    else\n        SetRoll(0)\n    end\n\n    \n    local altitude\n    if matchAltitude then\n        altitude = VehicleState.target.Altitude\n    else\n        altitude = VehicleState.adjustedAltitude\n    end\n\n    if maxPitchMagnitude > 0  and evasiveAltitudeChange > 0 then\n        AddPitchOutput(GetOrbitEvasionPitchOutput(altitude))\n    else\n        SetPitch(-pitchMovementAssist)\n        SetAltitude(altitude)\n    end\n\n    Turn(VehicleState.target.Azimuth - optimalAzi)\n    AddForwardOutput(1)\nend\n\nfunction Stabilize()\n    SetAltitude(VehicleState.adjustedAltitude)\n    SetPitch(0)\n    SetRoll(0)\nend\n\nfunction Idle()\n    SetAltitude(VehicleState.adjustedAltitude)\n    SetSlipSpeedForDistance(0)\n    SetForwardSpeedForDistance(0, true)\nend\n\nfunction Update(I)\n    if I:IsDocked() then\n        return\n    end\n\n    I:TellAiThatWeAreTakingControl()\n\n    Init(I)\n    SetupPropulsion(I)\n\n    if useBalloons then\n        BalloonCheck()\n    end\n\n    if repairMode then\n        if VehicleState.AIMode == \"combat\" then\n            if VehicleState.repairTarget then\n                Repair()\n            else\n                if API.IsFlagship then\n                    VehicleState.AIMode = \"patrol\"\n                else\n                    VehicleState.AIMode = \"fleetmove\"\n                end\n            end\n        end\n    end\n        \n    if not (repairMode and VehicleState.AIMode == \"combat\") then\n        if VehicleState.AIMode == \"off\" then\n            Idle()\n        elseif VehicleState.AIMode == \"on\" then\n            Stabilize()\n        elseif VehicleState.AIMode == \"combat\" then\n            if orbiterMode == \"both\" or orbiterMode == \"left\" or orbiterMode == \"right\" then\n                CircleTarget()\n            else\n                FrontalFight()\n            end\n        elseif VehicleState.AIMode == \"patrol\" then\n            Patrol()\n        elseif VehicleState.AIMode == \"fleetmove\" then\n            Guard()\n        end\n    end\n\n    SendPropulsionImpulses()\nend\n\nfunction BalloonCheck()\n    if VehicleState.centerOfMass.y < ballonDeployAltitude then\n        API:Component_SetBoolLogicAll(0, true)\n    elseif VehicleState.centerOfMass.y > ballonReleaseAltitude then\n        API:Component_SetBoolLogicAll(0, false)\n    end\nend\n\n-- ________________________________________________________________________________​___ Generic helper functions ________________________________________________________________________________​___\n\n\nfunction GetDirectionToCoordinates(position)\n    local vectorToPosition = Vector3(position.x-VehicleState.centerOfMass.x, position.y-VehicleState.centerOfMass.y, position.z-VehicleState.centerOfMass.z)\n    local direction        = vectorToPosition.normalized\n\n    local aziDot         = direction.x*VehicleState.forwardVector.x + direction.z*VehicleState.forwardVector.z\n    local aziCross       = direction.z*VehicleState.forwardVector.x - direction.x*VehicleState.forwardVector.z\n    local groundDistance = math.sqrt(vectorToPosition.x*vectorToPosition.x + vectorToPosition.z*vectorToPosition.z)\n\n    return {\n        Elevation      = -math.deg(math.atan((VehicleState.centerOfMass.y-position.y) / groundDistance)),\n        Azimuth        = math.deg(math.atan2(aziCross, aziDot)),\n        Altitude       = position.y,\n        GroundDistance = groundDistance\n    }\nend\n\nfunction GetVectorAngle(vector1, vector2)\n    local aziDot   = vector1.x * vector2.x + vector1.z * vector2.z\n    local aziCross = vector1.z * vector2.x - vector1.x * vector2.z\n    \n    return math.deg(math.atan2(aziCross, aziDot));\nend\n\nfunction InitPID(pidData)\n    PID = {}\n    PID.Kp            = pidData[1]\n    PID.Kd            = pidData[2]\n    PID.Ki            = pidData[3]\n    PID.OutMax        = pidData[4]\n    PID.OutMin        = pidData[5]\n    PID.IMax          = pidData[6]\n    PID.IMin          = pidData[7]\n    PID.integral      = 0\n    PID.previousError = 0\n\n    return PID\nend\n\nfunction InitPIDs()\n    rollPID     = InitPID(rollPIDData)\n    pitchPID    = InitPID(pitchPIDData)\n    altitudePID = InitPID(altitudePIDData)\n    yawPID      = InitPID(yawPIDData)\n    slipPID     = InitPID(slipPIDData)\n    distancePID = InitPID(distancePIDData)\nend\n\nfunction GetPIDOutput(SetPoint, ProcessVariable, PID)\n    local error     = SetPoint - ProcessVariable\n    local timeDelta = 0.025\n    local derivative\n    local output\n\n    PID.integral = PID.integral + (error*timeDelta) * PID.Ki\n    if (PID.integral > PID.IMax) then PID.integral = PID.IMax end\n    if (PID.integral < PID.IMin) then PID.integral = PID.IMin end\n\n    derivative = (error - PID.previousError)/timeDelta\n\n    output = PID.Kp*error + PID.Kd*derivative + PID.integral\n    if (output > PID.OutMax) then output = PID.OutMax end\n    if (output < PID.OutMin) then output = PID.OutMin end\n\n    PID.previousError = error\n    return output,PID\nend\n\n-- Props to Evil4Zerggin for the function\nfunction QuaternionUpVector(quaternion)\n    local x = 2 * (quaternion.x * quaternion.y - quaternion.z * quaternion.w)\n    local y = 1-2 * (quaternion.x * quaternion.x + quaternion.z * quaternion.z)\n    local z = 2 * (quaternion.y * quaternion.z + quaternion.x * quaternion.w)\n\n    return Vector3(x, y, z).normalized\nend\n\nfunction GetSlipSpeed()\n    local velocityHeading = 180/math.pi*math.atan2(VehicleState.velocity.x,VehicleState.velocity.z)\n    if velocityHeading<0 then\n        velocityHeading = velocityHeading+360\n    end\n    local slipAngle = velocityHeading - VehicleState.yaw\n    local groundSpeedx = VehicleState.velocity.x\n    local groundSpeedz = VehicleState.velocity.z\n    local groundSpeed = math.sqrt(groundSpeedx^2 + groundSpeedz^2)\n    local slipSpeed = groundSpeed*math.sin(slipAngle/180*math.pi)\n\n    return slipSpeed\nend"],"BlockStringDataIds":[6],"GameVersion":"v1.969","BlockCount":1710}}