Jump to content

[1.3] kOS Scriptable Autopilot System v1.1.3.0


erendrake

Recommended Posts

engine is a type of variable, not the name of a variable. You get a list of them with LIST ENGINES IN MYVAR.

For what you want, try this:


lock throttle to myvalue. // pick a myvalue in the range 0.0 .. 1.0
print "cur thrust is " + ship:maxthrust * myvalue.

But it's basically a work-around and using

LOCK THROTTLE to (9.81*mass/maxthrust*0.995).

the throttle is calculated continuously and I can hover more or less. resulting in having some kind of limited parallel computing. The reason asked was that I wanted to read out the ship's acceleration. I know I can estimate the acceleration by mixing mass, throttle, maxthrust and gravity together but on a descent using aerobraking some of them are zero.

It happened again!

The strange error with the floating kOS part. And a lot of NullReferenceExceptions. As usual the hex code of a rar archive:

52 61 72 21 1A 07 00 CF 90 73 00 00 0D 00 00 00 00 00 00 00 C8 43 74 40 90 39 00 86 3D 00 00 70 2C 02 00 02 2B B9 44 E2 44 9B E4 44 1D 35 14 00 20 00 00 00 4B 53 50 5F 46 6C 6F 61 74 69 6E 67 50 61 72 74 2E 6C 6F 67 00 F0 3D 30 98 10 1D 90 CC D0 D1 11 5C 15 DD BF FD 88 E7 A1 D6 6F F3 79 91 1C 74 C8 EA 20 DC 66 EC 45 3A 7D 16 F6 DF 4F D7 4E F3 2F 79 99 91 50 A9 51 AA 6B 5A A4 96 24 A9 BB 79 EF AF B0 64 15 76 EA 93 60 92 BA 09 32 01 21 15 59 B1 1C E6 DC 64 63 44 22 3E 4C 8E 82 08 00 83 32 68 AF 47 CF E0 90 42 54 A9 14 7C 92 07 CF 3C 90 AA 1C 38 FC 63 CD CF 7F 15 EE 5C B7 F0 47 7B D9 9B 27 56 6B FD 77 BC 17 A0 E2 29 B8 91 C4 74 9E F7 EF FE 78 71 F4 64 F9 67 F6 62 BF F3 EE 67 F0 FF D7 FA 7E AF F1 E5 F9 E7 BD 9F 45 FD 19 FF DE 6D AF 47 75 66 D9 CD A2 3E 8F BE F7 97 36 1F FD DE FF 8E CD 49 40 7F DB 2C 04 D4 01 22 FB C8 9F D6 3C DB D7 EA FF 4F 47 AF CD B2 0A 2D 50 2A 1F ED 7B BB F7 FA 3F 7F 1E 7C F1 F5 F3 E2 F9 FF 0D 41 7C 3D 7C BE 1D 56 F6 75 6A DF 3F 87 CF C9 CB EF D4 CE 5E 4C 9D 11 F1 4F F1 FF E6 1C BE 8C 3C E3 0E A0 E3 60 29 87 FD 69 D3 C4 DF EE A0 FE AD DF D7 0F F4 1A 2F 7F 1E AF B3 F1 F4 E4 C4 CD C3 FD FF AF E3 CB EC E6 F9 77 07 9A 69 57 FD 7C CC FA 3C 72 F1 7F FA B1 3D FD 43 D7 F5 0E DE 2E 8C 58 AB A8 48 51 EC E4 53 3E 6D A2 7F E4 17 69 70 25 88 A4 E2 83 F5 17 47 F3 C9 9B 52 DC 9D 99 66 A2 BF 0D 3D 81 C7 49 DE CB 65 34 3E 9F 96 CB B1 21 B6 4C 61 8F 38 A2 C6 65 44 FD DD AF A3 D3 7F 1D FE A9 A2 7C 7D 13 C4 BB 31 E1 FA C9 A1 9F 44 F4 3F C5 C9 AB E8 FC EC 82 C3 7F 50 BF E3 B8 C2 0D 12 03 FC B4 86 C8 90 17 65 42 7B 3B BD 91 95 06 E5 FE FD 9F 4B E1 F6 33 8C 5C FE 1F CB BA DD D5 D1 F3 F0 FA 35 47 31 BF 44 7D 5E 1C F9 35 41 D1 9E 8F F3 9B 3E A4 3E 39 3A F2 68 C8 32 E7 30 57 CB 44 7A 3E D3 64 53 B7 F2 65 80 95 E3 46 85 21 9A 84 CD FE BE 7C 31 E3 C1 1F 37 DB CD 1D 9F 68 6B 83 3A 20 00 60 FB 37 83 E1 CD D3 37 FF 8A 3F 10 1F 17 D4 0C 1E F5 A2 09 08 1B 3C D6 26 AD 50 90 36 86 8B F2 22 7F 8F 64 0A 12 53 00 3A 23 C1 FB 79 71 47 9B 9B A7 08 E8 01 29 7A 05 A7 8D 11 F3 73 E1 C6 0A F3 3F F1 FE 9A BE C9 9F B7 71 B0 47 3E 6C 39 C5 54 98 4D 70 0A 50 55 18 1A C5 7F 37 50 A6 3B EC 72 C3 99 94 15 1E 8E 6E BC 38 F0 8A 3E 70 63 3E 5E C6 71 76 20 2F 32 17 45 FE 76 48 9D 11 FD 15 58 F1 59 6F 9C 4B 26 6F A8 3F AD 7F 40 A3 FB 6A A5 EE 62 01 9C 58 EB E6 27 E5 C5 7F AA 7E 62 3E 06 5C 3C C8 28 AA 10 15 F9 BC BF 9F 76 72 63 D1 E5 65 C9 18 F3 4A B0 A4 3B FA 43 1C D9 FA F1 0A 27 B6 AE 0B A3 AC 38 9A CA D6 52 CF DA 4A FC 75 77 64 86 20 6B 9A 94 BA EF 89 28 44 28 2B A2 D7 C6 7C 7D 37 F5 5F DD A8 E0 EB F0 FE 3E DF 01 60 39 79 BB 3E 2C 51 BE 79 3B 3E C2 13 9B A3 9B D5 ED F4 D7 26 55 24 2D 79 3D 3E 7E 5A E4 8D 09 C2 C0 AA 92 77 C5 80 81 C7 5B 2E B6 E2 65 CA BA E0 90 A8 01 D2 02 25 A5 37 FA B8 F9 78 FA F0 E7 9B 8C 5D 75 97 9A 07 4A 42 48 AC A3 34 28 9E 6C D7 F2 E5 C4 CE 66 7E 38 FE 38 70 47 E1 65 F4 EE 7E 78 F3 78 F0 F4 F4 F6 67 8C 44 DA 54 21 60 F9 4F 7E 3C 42 D2 F2 AF FA 27 AE 5F 93 3E 0D 49 46 CB F8 9A 23 EB ED 2F 27 2F 33 85 7D 4A 79 27 E9 65 D8 2C 3F 1D 47 7B 7C 4C B0 3F EB 3F 47 37 3E 4C 8C 33 9B 9B 07 5D 72 11 24 C1 6A 30 A1 48 0B 58 C3 A9 99 63 D1 16 1F 66 46 60 FC C9 ED C9 A8 A9 78 65 A1 FD C5 F1 76 68 FA 7C 62 18 F5 2B B9 59 76 80 BE 8F 2F 8B 6F C3 C9 3F DF F1 8C 43 94 40 6B 44 D7 DD B1 E4 FF 1F E3 14 6E A8 4B 52 85 FD 45 DE 1C E2 98 CF AB 49 B8 FA 3E 37 D9 77 43 A3 C9 8D 98 2E 63 F0 EE B8 BC CB CF 7F AF D1 7F 2E 8C 8D 57 63 A0 F7 44 0B 48 36 D5 FE 66 0A F8 51 DE E8 37 34 A8 88 89 DE E8 4F 56 4C C2 E4 DF AA 24 95 40 6F 1E C9 FE 7E A0 87 BB 1D DE 8E 0E A8 EA 53 F5 32 D1 30 1C 98 BB 26 AC 97 87 5F FB B6 7E B4 57 33 14 08 09 3A 7E BC 66 D9 C0 04 73 FD 22 99 43 F1 33 98 5F 7B 1D C6 0A 43 BF 52 7F A2 6B D2 BE EB F8 FE 1A 99 EC 8F 16 89 BE 39 DA 2D E5 7F AF 4F A5 98 70 FB 3A ED C9 1E 07 EA 3A E5 65 6C F1 5B 91 43 FD 8A 9E EC 85 E3 9A AA 8E AA D4 33 A9 41 C3 6E 3A 32 85 23 9E 0A 2F A4 D1 71 C6 08 AB C4 55 02 83 3F 3E 2D 54 73 E7 14 54 D0 86 8E CC 58 B3 C7 F3 8C 51 74 9C 33 B2 E1 7E 7E ED 0E 2D 14 01 A3 0E 6C 18 A3 12 CB 14 16 68 DE 88 FA 6F 87 1A 25 56 95 00 5F C7 BF B5 7F 6B 26 39 54 E6 01 72 38 5A E1 B3 94 5F 09 F3 50 08 B5 51 B4 84 A0 B1 42 1A EB E3 36 43 30 B2 9D E2 2B D7 D9 8F A5 9B 42 8E 22 CE 50 32 F3 CC 62 89 DA 54 BB 5E 0F 8C 39 D9 91 4A 28 DC 45 0C EC AE B6 1D 15 E2 84 22 83 56 71 44 ED 29 DE 6C 56 59 34 AD A5 37 66 65 F8 71 A2 6D 28 D6 8C 74 3C B8 27 CA BA AF 1C 2D A5 1E 67 BF A2 3C 4C CB 8E 1C 62 D2 8E 33 E5 F7 C7 9A 31 2D 85 B4 A3 B9 AF 68 74 0F 1C AB 23 11 40 04 2D 78 C9 8A A0 D1 A3 36 1C A3 5A 4C 84 86 76 64 38 B4 8A 5A 70 F1 32 2B 2F CC 16 28 83 BB F3 D7 47 D9 71 76 75 C6 29 34 72 15 DC 63 3F BD 91 9F 1E 1B EC C8 0F E8 5D 06 0C DD D2 D5 96 5E CE 9E 92 0A 2C 77 36 82 51 CA 87 8E 3C D9 3C 37 F5 DE 15 E4 66 71 26 6E 87 18 D4 35 16 87 55 0A 5E B1 2A E9 84 C0 0E 3C 2C E6 55 93 1E 77 4A 8A 62 00 D7 0A 25 2F EA 52 5E 24 BE 1C D9 71 7D 93 65 D1 DD 47 3A 53 E1 54 37 31 22 54 D5 0A 00 14 4F 1F 23 32 AB 3E 93 14 D7 CA 1B AA E9 66 20 A5 5D C6 90 10 A7 00 B2 35 A2 FB 3A 81 7D 4E 95 43 3C D6 68 41 84 A6 9C A5 00 7A B2 67 8D 92 66 37 4A 62 22 78 9E FC 7A C2 EC BB 9C E4 63 5C 1C 8B 30 A4 FC 44 78 56 68 B1 CE DA 52 C4 02 CF 35 F5 FE 4D 19 B1 72 E6 E9 70 26 16 73 D2 2A C3 A1 97 B9 99 55 3B 45 5F 51 A4 38 59 20 21 4A 02 F9 47 97 45 85 67 F5 0C 78 14 10 89 4D 43 CD 43 16 A5 04 49 9E 28 EB 43 2C 52 E9 D4 2B A9 25 0C 05 DF 82 0A 48 42 77 85 25 99 3E FD 4C A2 4C 71 E0 66 0E 17 6A 7A 80 2D 85 09 55 51 00 AC E9 26 69 EF 52 20 DF 82 0D 49 86 10 39 5D 29 51 40 5D FC 28 94 B8 8A FF 24 0C BC 89 97 47 26 4E BE B6 71 37 37 3F BE 5B F9 FD 32 F0 CC 3F 6E C6 44 A0 9E B4 9F 53 39 6C 45 29 33 FE AF 5C E2 89 E0 73 3E 7A 8D 24 10 85 81 2B 76 B6 6A 2F DF C5 99 06 18 70 67 B4 B4 95 84 14 60 1E 0E D9 F9 72 5F 66 1C 26 63 87 16 1F E5 58 5F 5E B2 0D CC 31 09 DF 54 F6 BD 08 B6 07 86 10 27 66 5C 98 AF F8 7E 19 F2 F3 62 E6 A3 63 9B A1 99 B1 75 C7 A2 04 84 F8 DA 66 89 30 89 CE 0D 37 94 C8 42 00 78 AF CD D4 AE 9E 6C 27 CA EA 9D 60 CF CD B2 1B 1B 69 66 97 C9 C3 B6 38 DE 60 21 20 10 47 9B CC 54 25 20 0F D3 A7 8F 81 3E 93 07 C3 2E 1D 12 33 E5 5C 42 92 50 90 7D 51 4D 46 44 94 84 0D E5 04 50 A8 0E 50 FD D7 FE B6 E8 2F 44 CB 3A 91 76 24 C9 58 5A E3 CB 04 01 06 2E DE 17 5D 2A 61 57 09 5A D6 6E 25 C3 E5 46 7A C3 06 0F DC 10 CD 36 0C C7 5F 1F 5B 21 39 B9 3D 7A 92 F6 DE C1 93 2F CC 47 50 A0 81 C4 B3 49 F7 F1 5E 9F C4 C2 AB BA F8 34 08 08 1B CD F1 89 14 A4 F8 33 95 CF B3 27 43 89 39 6B 86 68 41 BA FE 17 99 F1 BC CD F3 51 98 EF E2 BD 9F DE CC A8 4B DF CA 5E 30 F7 1B 47 83 F0 66 93 F2 F3 49 72 88 3B FD 0F 5D 06 94 94 1C F9 32 CB 7C F5 C2 A8 BB E2 D2 DE 87 D4 A7 BB 69 BE D3 93 2B 02 7B C5 24 0D 07 14 06 3E F2 0E 8A 61 CD D9 8F AA B8 82 3E 4F EA FD 64 EC 64 FA 6B 9F 1A F4 97 30 D5 04 D5 C4 95 20 DB 49 E9 60 43 15 66 2F A3 77 2B 4D 73 5A 21 91 1C 22 9E 51 B6 94 48 4C 3C 19 0E 6C 75 C9 24 E1 1B 79 BD 7D E7 DF 97 36 4E 76 5E B4 ED FE 4E CE 77 17 AE 26 1A A8 02 C1 01 14 F9 2A 17 EF F0 EE 34 F7 39 BA F9 99 D1 BB F6 4D 0A 3B A8 4C 2F 14 47 0B ED 2E 9E 98 8C E7 75 BE 2E 3E B6 62 EA 71 39 BA 8D 22 0E 16 17 D5 7C 14 B0 04 05 74 AE 17 7D 95 5C B3 F4 1D 9D 0F 31 E0 0B 42 95 C6 48 33 CB A2 FE 0F 84 FD 71 37 4A F9 F7 99 5E 31 F2 AA 22 30 3B 45 F6 75 F7 42 42 4B 69 6A A7 CB 55 B3 D9 E4 03 CC 25 F2 82 56 A3 54 E2 20 48 50 4D BA B8 05 E9 8E FE 8F 26 BB 90 7C 9D 7D 0E 25 19 78 A0 B4 9F DF 27 D4 BC 0C E9 30 E0 D4 2F 87 9F 52 2C 1F F3 F1 33 41 AE E8 71 A1 0B 24 05 B4 A0 15 F6 51 5B FA 31 9A 6B 86 EE 76 0F 83 4B 54 8B 61 D5 BC B8 A0 5A DA B9 AA 32 15 01 0F A5 9D 67 2D 76 DE 5A C8 42 1E 20 76 61 4E A9 13 F6 5F 96 F9 95 FC D3 EB 8A BC 4F 06 4B 03 F5 5B 67 27 CA CC 8A BC DD B5 8E 3C 4E C9 1D F9 6C F6 FB BC CE C3 25 40 6C FB 55 4C E4 74 3C C4 40 5A 20 2A 0E 16 8A 0B 72 95 E5 0E F3 C0 95 DA 5A 9C C1 12 FD AD 4E FF C1 12 F9 98 32 26 09 6D 2E 88 92 BB 4B 54 12 E3 4B E7 0E F4 15 32 DA 5A A1 06 5D A9 68 84 A1 0A 03 22 83 4C FA AB 29 F5 1A 53 F2 0E E5 F8 61 CB 96 3C DA F9 0A F5 E1 E8 CD AA 2E D5 A3 77 6D 6D AA 4E 8D 3B A8 DA 6A E3 D8 86 86 02 06 EB A6 FE 16 69 0C 9B 49 15 10 DF E4 51 53 73 55 5A 44 7E FA 92 AD 79 DC 1A 7E E8 82 DD 08 CE 88 E6 BF 8B 7A A6 B0 45 A6 02 35 FA FF 88 F4 06 A8 90 11 90 10 85 38 0B 16 1E D3 C3 46 B6 2C 8E 95 52 21 37 61 83 56 5E E5 12 EB 28 21 60 0B 06 04 31 48 13 9C 10 E6 96 07 3D 41 89 87 42 60 B2 2A 04 45 C2 6D E5 E4 50 53 94 2C 98 16 18 82 C9 C1 62 DF A6 ED DD 04 24 D0 5D 86 10 14 FB F5 03 3B A0 44 AA 19 67 15 01 42 50 7C B6 15 BE 85 30 70 03 96 AA 80 AB B2 B5 51 B8 19 58 B5 52 E0 37 87 9F 0F 56 BE 61 EB 58 81 FD 3C 47 47 FB 5C 5C 5F AE B9 DC 5C 81 61 44 90 2C 56 CE 45 3B 32 2C 77 EA 0C A5 8D 2A 9C 33 4B 98 6C 3C 82 86 DA 6B 8A 8B 55 06 C3 CB D9 1E 2B 6B A4 5A AA 21 60 0F A5 97 3F 40 91 28 7A E7 65 D7 87 06 6C 96 57 38 18 29 29 09 48 0A F7 C8 97 1F 66 0C 51 F6 85 A2 AE CE AF AD D8 60 95 9B 5E AF 22 F3 14 16 14 84 E6 04 34 4F 52 9B 37 68 61 BF 8A B5 4C F3 73 52 A1 56 DC 2D 9E 23 BF 9D F4 3D 5C F9 3D BE 29 9D 85 32 E1 8F 35 4D 86 9A 0C 69 88 24 E1 2C 75 BB 79 79 86 BD D6 17 EA 36 5F 4B 18 8F E4 77 29 E2 01 CD AB 1B F6 D2 A1 F7 44 12 42 00 D9 DE 30 78 A7 EE C6 5D 0B 84 B0 84 C4 05 49 82 62 82 C3 BF 2A E4 F0 3B A0 35 10 BC 00 E1 4A 95 20 8B B2 29 58 A7 BA B5 32 AC B9 35 1F 7F 13 35 2B 39 F2 E1 F8 3B A9 0C 45 47 04 40 52 C2 24 95 76 EB 4B 24 33 1D 0B DA C3 DB 3C F9 3C B7 EC F1 D3 30 6A 22 0B 04 05 B4 C0 AD 37 35 BD 9D D1 24 FF 07 2A B9 0C 5B 98 91 2A 65 3C 2B 71 DD AF 3A 8C 32 42 C0 95 93 44 A5 B8 55 E5 39 60 5C EB 53 A7 7C 9F D3 2F 2A 0C 0E CB CD 6A 9B 4A FE AD 4E 19 61 29 E5 9D 6B 0C 3B E4 A6 A3 AB A7 A2 69 61 5C 5A 89 08 4F 5F 01 F2 2D AD 73 6E 37 CB 8A FE 89 C8 9E B8 F8 93 BE 50 1F 36 2C 8E 3B 1D 23 25 AB 21 7D FC 71 01 62 7C A0 76 77 5C 1E 5B 3B 21 F5 1A 42 14 2C 09 5B D4 63 E7 1E 3E 9F C4 8B E2 7D 49 EB B5 69 31 4B 38 95 92 C0 50 7F 97 46 6E CC 0C DE EF E2 74 B1 95 07 EF 02 C3 5B 5F A9 8F E0 5B 69 C7 31 8D 76 18 B5 FD 68 A5 3C CD 3B 0F 66 2B F6 7D B5 DB 0A 9C 84 0D 80 96 B3 9D 67 35 B4 E2 9D 50 5D 86 2D 50 40 39 B3 C8 84 26 5D 86 9A 22 94 B4 61 E3 F6 F2 72 D9 58 E0 97 DB 9F 0C 11 6D 65 EA 51 0D D8 60 A5 42 40 DA E5 13 BB A8 FA 8B 84 89 09 84 AB DA E6 CB AF E3 45 4D 13 2E 6C 19 E6 FA 5A 63 B9 61 64 A8 2F 35 E9 B1 26 DB 36 A6 B9 8A 31 6C FA 26 E5 E7 46 43 9B 0F 72 7C F1 3A 5E 14 60 2E CC 0E 76 D5 46 52 62 E0 C8 8A 8C E2 81 F2 9F FF 48 F1 FD B8 B2 57 22 42 2E 82 86 AA C4 70 76 8A 1B D7 42 FB 61 5A 50 B4 3C 50 5A 71 B1 43 09 6B C3 E6 C9 93 C9 FA 33 AB 6B 87 AF E9 B4 78 78 F9 AA 6D B6 33 69 A4 BC 5F EC FD 61 3E 4E DE F9 47 D1 F4 5C F4 6D 73 51 B7 CC C8 0A E5 8B 08 46 D3 59 76 C1 8A 02 7A 6F B2 D6 B6 4E 97 8A FF CF C3 9E 88 3E 69 FB 7D 5E 69 F2 79 AB 97 34 49 0D 9F 30 F2 B2 35 38 72 9C 36 98 F3 75 88 DA 77 F5 E3 E5 86 B3 10 2D 82 2D 3B 1A EA 57 53 AF D1 CB 2A 7D 00 DC CA C7 8B 0A FD 73 E1 D7 CB 99 B5 58 12 4B BA 0B FF E9 B7 6A 10 93 44 6C 50 D0 99 41 3F BB 36 C9 15 DC 4B 29 16 A4 1B 7C 42 4E 7E 6B 77 79 7D F9 3B 83 47 6F 37 B3 EB 9A 09 BA 1E D6 BE 0B C9 EE DB DC 01 6C 94 F9 1A E8 9F 99 DD DB BF 48 DC 6C B9 A1 A9 78 FC 59 3A 3E 6E 2D 4B 55 AE AB 2E CC 71 01 61 88 0D 4F 3D 7A C9 62 B5 E8 F1 3C 13 12 CF FB 2F D5 DF 9F 8C FF C3 B5 7A 32 E4 D4 AE 87 4B 2D A7 6F 8F 6C 44 4B 19 4E 70 3E 8B FA 30 E4 C7 F8 76 73 BB 57 D4 6B B8 D1 2B 66 2A 01 8D 9F 2F 3F 8A 3B FD 64 74 B0 9E 02 DD 09 94 32 42 60 94 C1 DE 84 C0 10 4D C7 2F A9 84 1D 15 49 AE 0B 4C DA 7E 07 73 A3 6B 7C 9D E0 98 A9 E5 44 52 E5 77 44 B6 9A FE F9 42 25 9E 28 57 17 CD 99 4D 0E 16 68 AD BA F2 96 E4 88 0A 80 85 D3 14 B9 84 49 00 5D 12 C6 43 A4 1A D1 66 C4 6F 5F 8D EE 5A E9 E3 77 6D 0E 31 89 50 36 CE D4 E1 79 14 FD C8 5D 9F 1C F9 EC F2 20 22 B5 EC 02 ED 07 90 14 C7 06 FD 98 63 C1 19 3F 47 4A F9 92 B8 4C 19 0F 0D 9C AF D6 E2 A3 BF 87 37 2E 0C 99 32 BA 10 83 28 06 C6 8F FF 66 2E D2 F3 E3 D1 7F E0 EE A4 89 80 DC 00 E2 02 A1 EE 53 7D A2 EB EB F1 E1 CF EF 9F E1 CD D0 CF 8F 37 6F E6 BF F3 AE 3E 17 C9 5A BA 7E 25 69 78 99 84 54 70 71 CC DC AA 18 1E 84 6C 6A A9 D2 C9 B8 10 C8 8C 90 9C 80 A8 88 09 93 07 C1 96 6F FB 19 7E DC 8E D5 98 A1 D3 3A FA 1E 0B 6C 7F 0B CC 59 54 E9 07 9C 50 02 FC 43 08 4E 29 4C 48 14 0F 1B 4F 7D A7 6C 7F A7 34 B4 25 6F BB EE 97 D8 40 B1 10 2D 89 61 39 21 08 34 46 EB A2 F3 31 25 14 2E 89 65 41 12 17 4A B5 3B DF 16 B3 74 FE BD 0E 74 18 F3 08 4B DD 5F 67 60 25 11 D8 75 3D D9 C1 B9 D2 AD AF B8 10 9E 02 6E 64 4D 32 04 18 65 24 40 3B 35 9D D8 B6 EC 88 7B E5 81 33 77 0A B6 57 26 66 18 A0 81 DD 8A F6 8C 84 9D C3 58 E2 C9 E4 FD AE BC A4 76 31 29 09 C8 0A F9 C0 AB 1B 26 1D A0 CC F8 07 4A B2 9F 38 B2 10 91 2A 6A 34 00 46 65 02 71 E3 D1 1E 3C 77 DD AA A7 7B E7 D1 D7 33 78 06 6E 7D 5B 48 D7 81 AE 6A 28 61 0D B7 35 76 FE 6C C7 E2 7B 98 69 BA ED 14 B8 7D C5 5F 81 96 3B B9 13 71 12 DE 74 D8 38 AF 75 33 CB F4 B7 F0 7B FB 3E D0 F8 F3 64 EA EC 8D D8 F4 24 2D 10 15 46 07 2C 79 6E 6A 38 84 48 59 12 BA 43 C0 0E 6B E8 A9 3A 57 A1 8B 81 1E 35 7E 25 BB CD 9E 66 8C CB A5 80 A6 57 04 40 4B 09 61 7B A5 FA 33 3B B6 B8 E8 1D 2C 0A 02 38 1E 35 7E 25 C6 EB 00 CB 09 19 F2 B0 6B EB 60 40 CF B3 87 D7 C7 86 B6 1E F1 8C 50 58 14 DE 9C A8 5C E5 05 4B DD 95 4C E5 1D 7B 9F 16 47 0C 0B 69 84 BE CA 3C 9F 18 F3 53 CF 5C 95 50 42 84 84 05 7C BC 59 9E 3C 79 F2 66 E3 C0 CE 85 06 A4 72 75 C7 A2 C3 80 CB 4D 77 CD 52 7E 2B F6 C3 E1 84 19 F3 66 BF F1 C3 68 42 24 83 3E EF 7E A2 BA ED 16 24 C0 F8 47 2E 4D 1E 8C 3D 5E FD 04 97 21 4A 12 90 14 DB E2 AA 50 C8 FB 52 79 56 5A 10 A0 23 18 F4 9E 2C 3C 96 96 BD 25 F2 93 26 63 F9 DB DB 93 69 AA BF B3 1C 29 59 0A 0C 0C 2F DC DD 0C B7 6B 0A 8A FE 4B D9 37 4C 01 DD 5B 15 BC D0 5D 51 62 95 51 24 19 9B AD 85 B2 96 68 EA CB 7F 7D D0 2B A0 EC 79 0E C0 FE 7B 96 39 AE 05 3A CF 21 98 72 94 16 48 08 53 98 21 F1 61 EA 74 B0 18 97 19 5F 61 53 96 12 32 D9 F7 66 B4 E1 E9 83 DF 2D 98 D0 CE 46 99 F0 64 CB 87 07 A2 7C 82 A7 44 11 00 5C 15 0B 24 B1 2E D9 41 21 52 02 36 68 9A A5 EE 89 31 70 A4 EB 4B 83 71 12 D2 DF AF E7 EF 8F BA F4 5C 1F 9F E4 E6 C2 2D 44 C4 53 03 65 0C 89 40 49 5A 4E 9E D7 B3 AF 5A 39 CD 14 D3 C1 0C 40 90 4A 99 21 38 48 50 58 B4 CA 60 4B 46 87 9A FF 26 D1 92 79 A3 BF 3D 54 30 E3 A6 D6 71 E7 C9 FA 5E CB 9B 26 5C F5 CD 18 F0 83 D4 F6 1C D0 7D AD F2 37 B2 C2 A1 C4 C0 F3 31 1F 29 BF FF D3 1F 43 AA 96 C2 6B 88 61 29 AA 39 57 08 AA 4F 6B CD C2 5E CA D5 24 45 8E 47 5C D4 F1 E1 E3 C5 A2 8B E9 FE EF 7F 6D C7 F8 33 27 73 3B 89 A0 60 B8 A2 09 88 08 EF B2 26 5F E6 8E EC CE EB CB F1 C7 97 47 BD D2 A6 42 9A E2 1C 6A 79 94 BD 1F A6 1C FE 76 65 7C E0 B0 B8 EE C0 A8 38 67 9D EE 63 34 0E 68 DD 04 2A 08 19 F0 6B EA B2 50 31 D8 64 C2 19 F9 32 75 E5 BF 9D DD 36 9A 04 D9 47 FA 3E A3 47 81 9A 4E 8B F8 BF 1C 79 39 DD 87 24 40 D1 5D 88 3D 9C CB ED A1 E9 B4 5B 4E C3 28 A1 08 AA 60 78 20 5E 7C 51 F4 4E 03 97 2C 6E AC 73 45 8F 4B 1D D8 51 A9 66 B3 AB B7 AA FF C7 C4 E5 AA BD 34 7D 00 D8 D3 F0 90 1A 28 2A A2 06 85 67 22 20 0D 19 7B 3B B9 CB F2 C3 A3 03 BB 11 D1 69 5A 51 82 14 C2 A0 D6 7C 18 33 2D EE FE 69 AD 23 ED BE 88 DD A9 10 D9 D4 46 93 ED E9 D8 48 90 1A 34 51 9F 8B 69 32 89 21 6E 01 85 33 09 28 68 CF 68 A2 99 4F 11 EF 37 66 E7 7D 40 C1 DA 57 85 7F 9F CF F6 28 0F 9D D8 88 4C 11 8E 65 22 81 71 8B 83 CB 0C 8D 35 F9 D4 07 ED 68 D1 89 DD 5C 61 A9 93 FB 6E 00 52 29 4A B3 E3 FB F9 72 F9 DD 27 1D 30 0F A6 ED E5 B3 ED 73 BB 79 F5 DE BB CE EC 59 A1 09 AB 49 36 77 12 C5 96 62 82 C4 90 98 C0 88 21 82 63 82 DD E7 ED 0B 44 9E D5 57 99 D0 A9 B0 45 47 45 76 CC 12 CD 32 86 A1 0E 0A 5E F0 32 3E D9 65 86 D4 84 86 C6 7E CF 03 3F 37 D1 65 F7 DF AE 82 89 10 83 79 70 E2 C9 A3 B8 35 BC 19 58 EC EC 07 2D 28 BB CD 1E 3D 41 E1 C1 3E CB 9C 7E 4C D7 B4 DC 43 10 10 C5 08 8A 08 74 04 46 04 44 24 08 4E 08 95 44 10 A0 11 D3 18 09 74 99 D5 14 DB 59 9F 2D 72 AC 5B CD 4D DC E4 5C 44 ED 89 55 62 18 C0 85 24 01 09 C1 0C 53 84 28 04 39 82 24 82 20 EA 08 61 04 4A 03 4E E7 64 C5 AF 30 E6 6A B0 C9 77 1A 40 48 A0 0B 35 6A 98 88 38 A0 22 57 60 C0 87 4F 01 36 E7 5A 3A D3 68 AC 28 04 75 DC 05 2C 29 04 84 BC 04 A9 85 6B 6B 63 05 67 78 46 C2 55 DD ED EE F9 E0 A0 8C E3 C8 FD FA 86 69 CF 39 88 84 95 01 BE A3 9E DB 4E 7B 4C 47 3A D3 DA AF 53 8E 7C 8C 26 AB 5B CE FD 7B 1D F6 9B 46 B6 B0 01 82 E2 88 27 20 74 63 8A 7E 25 CC 50 42 9D 41 31 81 0C AB B2 AE 70 44 12 10 99 00 89 25 DA 7E D2 09 0A EC 42 08 A8 25 9D 40 91 41 00 4D 10 74 63 75 18 EB D7 EC EE DE B1 CE 2B E5 60 DC B2 B1 0C 40 42 9C A1 09 41 0D 09 82 13 02 1E 1B 8A 9A 70 45 16 00 85 0B 54 90 21 48 24 4A 84 21 AD 5C F9 BA 85 96 93 37 6D 53 43 BB 65 32 3A 06 40 4B 6A 98 DB 54 BA 5E 0C 80 7C C0 87 86 00 78 E0 88 8A 20 79 00 90 93 7E 51 D2 08 A3 2D F1 54 7D A3 13 B2 9F 8D FE 74 CD E0 A4 1C 7C DE 2C D7 FF C6 1C 42 8F 42 05 E4 BF D7 1E 6C 95 7C 26 1F 57 6D 5C 43 CD C0 66 EE 26 8C 37 C5 1F 23 E2 81 E9 ED EC 38 32 0A 3C 77 A4 F7 8B 9B 8F B3 3E 8C D7 F1 69 A5 31 3D 81 E4 F7 E1 C5 1D 78 E9 20 48 13 D5 1E 86 74 E9 26 BA 61 9C 40 CC 70 23 2A 2B 87 18 A3 A9 7A 98 1E 4F AF F9 31 64 EB E7 1C C0 11 50 BE 80 D1 1F 8F CF F1 C9 5B C6 88 58 0C B0 3E 28 9E 66 75 4E 30 0E 3C 55 01 3F E2 FE 5B F8 C5 1D 43 D4 DF F8 D9 20 19 9F A1 ED 67 4B F0 40 54 40 27 93 1F 54 D4 85 5E 3E 68 21 02 79 F5 7F 8B E6 28 E9 9F 17 FF CB 37 67 57 65 FD 34 1D EA B8 3E 4F AF B8 19 62 DE 4C DA 56 13 81 3C B9 AF E3 1D 1E 35 EA 14 36 8F 7E 19 31 F4 76 F5 FC E2 00 47 C4 FC DD 18 6F F1 47 08 82 06 F7 60 3F 97 9B 8F 37 54 78 F4 61 C7 7C 40 55 00 13 C5 93 3E 3C 37 F8 FE A1 FE 1F 52 BE A6 F5 64 F8 B4 18 88 14 04 F3 E6 1D 73 D0 64 3D C7 3D 58 7E C5 E6 C2 34 E1 C0 7E 6E 6F 37 77 7A F5 7D F3 14 7D EE A1 EB C7 BD 7C 09 3A D7 00 C2 EB 67 70 1B D9 D5 7F 10 80 3D D2 52 F8 FC B9 78 C5 1B 7B B7 33 F0 E6 E3 C4 DA 6E 9A 78 55 4B 68 FF 8A 3D 40 61 EC EB 5A 43 04 20 4F C7 B5 23 BF ED 8F 2F 67 3E 2C 38 04 14 CF 8A 2F B7 B3 3E 71 C8 48 4F 68 A2 4F A3 60 FC 79 7D 93 F5 9D 08 A8 39 D9 FE B3 23 63 51 B1 F1 5F C4 2E 27 DA 33 A7 AD 87 E4 C7 46 46 15 77 FE 0A 13 C5 01 A2 DE 08 33 54 CD B0 99 39 BC 62 19 10 4C ED 60 36 CE E5 27 D3 35 D7 67 5E 3A 45 3D D9 51 47 61 40 04 81 DD 14 01 D6 DB C7 0F 36 ED F1 E6 EB AE 3C E5 50 6B 69 E3 88 02 82 11 83 C4 1A F7 78 DD 1E EF 90 84 24 81 AF 77 8D CD CB CA 55 55 BA A3 5F C6 E5 EB 84 44 00 4B 7F 19 B8 11 A2 81 76 EB E6 73 D4 DA 11 03 01 6A 78 C4 78 E0 84 61 25 02 6D F1 88 AA BB 42 21 0A 80 9B BC 62 26 B6 D8 89 3C 70 51 A7 AD 5D AA E4 13 04 20 4D DE 30 55 3E DE BD 81 0F 2D 79 C4 A3 0E E7 97 F3 F0 C7 FA 7B EF B2 7E 3C B8 99 85 57 3F 37 3E 2E C8 C7 1C 48 77 7C 33 93 9B C9 40 01 45 4F 00 64 2A 1D 45 90 50 C9 F9 AF BD 28 0E E6 79 03 F7 BB DF 99 B5 56 D3 0C 5A 7B A6 F1 35 AD 68 D6 F3 2B 11 5F A3 73 B4 5A 6B 81 86 04 00 F3 47 D0 E0 01 1D 2F CC B3 6F 9A 7E 00 45 13 31 43 5B 30 EE 66 F8 67 14 64 ED D6 EB 3F 13 CA 10 64 44 1A AA 78 9B F8 80 42 6B 65 1E BF 89 98 08 22 94 1A 9B 78 96 ED 71 0A 82 00 D5 57 C4 A4 44 04 87 0D 55 3C 2F A0 40 0B 08 6A 6B E2 47 42 0E E3 87 A5 F3 69 E2 46 A2 0C 9B 65 38 5E 24 60 20 90 C4 1A DA F8 8E E8 84 45 6D 25 2A F8 8A 55 70 31 41 6D 5F 7A 7E 22 00 28 F9 2D A4 50 FC 42 C0 41 4C 50 16 CF 10 66 14 7E DF 8B DA 9E 20 36 20 11 1C 0A 60 AA 16 65 CF 58 D4 5D D7 87 E2 08 39 00 62 F0 F7 11 08 32 00 4D 7C 3D B0 42 CE F2 AA 6C D2 F2 38 08 2B CF AE FC 38 C9 B8 18 40 55 FA A5 6E 05 A9 20 1A 7E 19 B4 D8 39 20 40 14 A1 A0 8A 00 D3 F0 AF 25 F6 18 E0 1D BE 14 80 D8 1B D5 37 51 E1 0D CD C0 A4 C0 3A 7E 0E F4 DC 4A 9E 69 CC 7E 0E 52 21 11 18 1A 67 83 66 38 0F 10 35 B5 A1 CB A5 0A 43 03 C5 70 24 A9 06 A9 78 30 90 85 19 FA 4E D6 F0 5B D9 55 08 06 EC 38 AC 2A 5E 55 5C F6 76 AC 95 50 3C 84 69 E0 99 42 15 65 CD D9 B7 81 B0 B7 13 B7 B3 1B 5B 16 13 E6 62 C1 BF 0E DB DE 05 88 69 8C 0D ED F0 38 D1 09 42 80 96 1E 07 C4 22 90 BE 50 2B 5F 03 DD 10 D5 20 09 B3 C0 F6 2B 81 DA D9 37 5E 91 78 19 98 85 11 20 F9 43 B4 C1 01 83 B4 F0 03 E7 0E D4 1C 1F 40 76 C3 64 AA B9 7F CD 37 19 10 06 AB FE 08 60 D4 00 AA FF 34 5A 6D D7 A8 AF 2D 37 E3 93 80 E7 80 1D 73 79 3D 08 56 F6 26 5E EB 3E 2D 5D BE B7 34 AA B7 C9 A3 71 5D 64 C0 B7 5D DA 63 BB A3 27 60 2B 73 DA E1 C0 57 9A 7C 1B DD 88 41 CE 90 05 77 BA EB 71 4F 34 FA ED EE 94 21 EF 35 05 1B DB D0 41 D5 10 02 AB DB BA B8 38 6C B0 DD 59 3D BA 44 2C 8F 13 4F 49 EA C4 E0 31 CE 0E 6C 7A D4 8C 4B C4 9C 6E F5 02 5A C3 13 C0 B1 BD 2B C4 22 CA D6 5A EF 07 56 E1 14 40 6D D5 62 95 65 91 82 E9 E7 78 20 E6 20 34 60 EF B2 A7 B7 4F 31 89 55 28 06 AC 2F BF 59 E5 57 3B 79 61 B7 1B 16 F5 27 F7 3C 9C AB 89 8A CA F9 E3 B7 90 F8 84 59 71 6A D1 E2 52 E0 3D 96 56 33 C3 C5 C4 44 4E F5 3F 55 DE 23 E2 0E F7 50 C7 4F 0C 41 10 51 80 86 B4 56 22 7D 0F 9D 62 56 ED 39 3A F3 8D E0 24 21 24 7A AD 45 77 7E 00 83 95 00 5B 0B 29 E9 39 F4 AD 43 68 B0 C3 AA C0 F1 14 19 DC EF 02 6C 36 CF 2B FE CD DD 3C 21 85 7A B7 4B 63 B7 B5 C0 53 18 1B A2 51 38 17 65 75 09 B3 B8 E2 A6 C8 88 59 66 82 B7 76 EC 4F 8B 03 9B 04 FB 6C C6 39 CE 22 91 3C AC B6 8E D2 BA E5 4B 65 68 AD 9B B3 71 B4 E6 94 C4 BA 11 63 38 21 C1 33 98 25 63 B2 E1 B9 2B 2E 91 55 AB B2 99 B9 3B 2B 60 2D 1D 92 4D C9 42 F9 43 F5 DD 86 02 13 13 E4 B0 A7 80 B1 D8 EB 3C AD 4B 37 5C 00 86 59 5D 9E 76 EB 2D 10 83 42 06 68 EB 28 10 E3 A4 23 28 76 C2 40 8C C1 DA A4 03 D5 1D 63 22 21 12 81 EA 4E AC 0D 29 B5 F2 AC B7 0A 1D A5 88 1F DA EA 0F 10 D3 6F D2 AD CF 55 81 83 10 60 63 45 97 54 9D 78 4A 01 A7 1D 10 C6 07 86 20 66 6E 83 D2 FB 5F 6C 38 13 A5 52 B8 A4 40 80 66 9B A5 3D 6A FB CA E0 4E 94 A9 56 CB 95 8B 67 4A 28 81 D9 75 A7 2C 1D 1E 22 13 65 93 0A D9 D0 94 20 71 3C A9 A2 73 FC 57 0E 98 1E 54 B1 39 D6 65 53 40 0E 39 53 EC AE 03 BA 73 5A CA B6 59 D3 36 4E 65 F1 0B B2 CA E5 B4 72 DA 08 6C 4F 35 8B A8 E5 AF 18 38 80 34 DC B5 55 C1 43 00 0A B3 87 75 81 7C 9E DF 68 73 66 9E CE 66 83 D7 26 4C 58 B0 B1 1D 7B 34 6C CC 38 FD 8C F7 BB B5 FA DA 19 D4 12 ED DE 8B DE DC 3D 5D B9 CE CB 8D 57 B4 64 BD F6 6F 1C CC DE 0E 2E FE 1B 56 50 94 E0 DD 3E 08 EA AA C7 83 BE 65 27 0A 35 7D 0E F3 54 D1 39 B0 84 1D 05 07 4A E0 42 4C 03 AC E6 6B 95 55 00 0A A3 98 70 41 22 50 0A B3 98 5E B8 65 11 E6 79 2D DC B6 E2 31 63 A7 15 B0 72 B3 57 AA AA 8C 9E F8 AD 1F 0C 36 AC A5 33 CD 02 B5 72 D6 88 53 D5 69 9A 39 56 44 26 1D E9 54 B1 C8 5D B2 D3 DF 59 39 2B AB 8B B2 D3 E4 37 71 DB 38 14 45 04 0E AE 14 44 F5 75 0A B0 D7 22 CE F7 29 2B 38 EC 04 1D EA EA 45 57 1D 58 82 42 F5 26 2A 38 D7 25 55 3C C9 17 2E 35 71 0E 7A B2 DD AB 8D 4A A8 A8 B7 79 3D 62 C1 59 C6 9A 21 65 7F 94 B5 DC 69 02 18 67 A9 47 55 C5 F0 20 A8 30 34 50 ED 4A 40 43 71 51 88 4B D7 2B 66 8E 24 F9 55 EA C5 57 0E 24 AA E3 48 F5 62 BD 77 0F C8 83 3D 58 A7 5D C3 E8 DC 59 9F 95 2D 8E 0F 17 02 5E EA 08 D9 C3 1A 21 89 50 3F 61 3E EA 7E A4 5A CE 18 31 0A 89 E6 F6 7D 67 01 BB 71 65 7A BF FA E5 C1 06 21 D6 3A 8B A6 EE 07 EA B7 1D 18 13 85 BE 31 DF 63 6A CA 0B 2E AE 6B 77 06 5C AA 84 86 EB 4D E5 F4 4C 00 C9 83 B6 12 06 EA 12 C8 AB 7A D1 52 70 2E 38 94 33 71 06 BD C7 0A 35 7D 22 84 35 D4 70 0F D7 53 E6 F3 9B 25 DA EF B1 B5 24 E9 9C DC C7 B2 70 35 08 33 9C 2E 2E 9C 03 A2 04 E7 95 BB 87 00 C0 80 1C 33 09 C0 26 28 FB 9B DE CE 5C 01 C2 02 A3 86 5A 6E 00 91 46 A2 B1 4E 55 6F DE 37 04 7B 2A 4A 6C DF FF 10 32 D8 C8 16 8D FB 31 01 35 8C 88 1B 7D A0 40 11 63 21 A9 B7 A8 C5 1A 73 79 BD AB 79 6C 51 D8 6C 57 91 B7 95 96 B1 06 61 37 94 6B C7 DD 67 F2 39 6F 02 88 09 2C 64 16 7B 18 C9 88 1A E6 6E 90 B8 8F 1C E1 AE B3 75 90 40 EC B8 7F A8 DD 1E 14 6E 1B 15 FB 63 74 64 51 67 1C 58 59 B6 E6 2B 86 71 AA D8 6C DA 7A 6E 09 C7 06 CE 9B 22 02 02 E3 30 85 D3 5C 6A 55 71 CB A6 D5 A9 E7 5C 46 D6 9D 8A F5 54 69 D7 B7 18 80 CE E1 A1 F9 48 34 3F 7C 10 33 97 44 2B D3 59 99 CC 20 27 B2 A6 5B 68 F0 AA D6 ED 89 7B EA 8F E5 E9 6C 10 5C 89 AC 98 8C 8E 43 CD E3 B2 AC EA A7 74 F7 0F F7 FB 38 FD BE EF E0 E1 88 B4 CC 31 3A 2A 40 8C 49 00 24 05 5F 0B 05 B3 11 CA 72 95 A1 06 5C A1 AC 4C 46 7A 0D 0E 1C 67 4C 1A F6 B1 1D 28 2B AF 6E 8D 64 ED C4 8E D6 23 EA FF 34 F2 18 D3 86 BD 6C 48 4A 05 EC D9 BA 89 AA C4 7E DC 52 B7 D0 33 E8 02 6D C9 97 A0 D3 96 24 E6 F6 55 7D 27 33 62 C4 A1 D6 75 20 45 F2 97 96 D8 3B B1 5D AC 49 6A 45 B7 42 0C BC 20 49 ED 96 D3 D7 6C 1D D8 AE E6 25 86 9E 5A 36 C2 0C BA 83 DF 93 F3 F6 79 3D BE 7F 4F 93 D5 EE E6 F1 F9 3C BE 7F 57 9F DD E7 F5 FA AA A2 3D B1 E7 C9 D9 9B 04 7B 34 FA 5E 38 FA 7E 8D B4 60 68 98 AB 48 1B 46 16 F4 EB FF 1D 48 3B 81 4D 8C 2E CA 26 3A 86 06 A5 0C 11 C9 54 D0 5A 8F A6 C2 FB 9C 9D 38 1B 81 0A EC 30 79 CA 57 85 19 82 06 AD AC 31 79 C8 ED DA B8 0A D9 DF CE 4E 27 5B 0B B4 62 0A 1A AB 30 CA 2A 0F D7 09 70 2D 55 86 6F 39 5A B0 63 28 60 D5 4D 86 8B 39 2A 70 37 12 15 98 6A 34 14 AD 0A 33 07 0D 7B 18 6C 34 11 D9 B5 70 15 AD 86 D5 38 8D 7B 03 0C 80 D5 51 86 E3 38 CA 90 57 42 4C 61 BF 69 F6 CD 81 86 48 14 B4 07 F6 AB 86 12 6A 8A 89 86 22 10 CA D5 87 2D 38 FA 70 37 42 74 D8 74 54 14 A7 04 32 AA 01 56 61 D7 D0 62 B4 2D CC DE DC 41 74 14 DB B4 31 B1 00 A7 C4 25 AC 54 FF 3B 98 7A F8 52 A8 23 5E 14 46 CF 00 06 9B 0F 7A 72 F4 E0 6E E4 CA 0A BF D5 D0 40 0D 36 1F B2 FC CB F0 B9 36 31 00 B6 AC 74 6D 8C 69 40 34 31 03 27 17 47 CE EA 1E 9B 10 4B 58 FA 70 63 2E 60 0D 46 21 04 E5 AA 41 70 85 58 C4 2D AA 51 90 23 26 70 6A 6D 5B AE 9E 93 41 77 81 52 B4 2C 51 97 40 35 43 11 52 A9 8A 21 38 03 3B 98 8C 6B E5 2F 25 D0 90 6E 95 8A 12 F5 96 4C F5 79 22 67 75 C9 04 E0 2A CC 48 AA 09 D5 84 19 9B 1B 7A 5B 31 00 28 31 4A 03 BC 4A 52 A3 4A F0 A3 3D 10 3F 3F 5C DE B9 D9 A1 38 53 93 31 1B A9 98 9A 00 45 11 00 11 BB 13 3A 73 ED FE BB B2 2A B3 13 92 74 1D 68 41 9C 20 11 8C 4F 39 C8 7E B7 55 D8 25 36 27 B4 E3 69 C0 8C B1 41 F2 82 94 36 46 05 30 50 60 7C E0 A7 0D 92 01 50 14 1C 33 39 62 99 4E 60 70 F7 23 DB 58 A8 93 95 DB B4 31 88 00 6D 62 A6 AF CC BE D7 1D 36 28 76 BE 11 E9 41 0C 9A 41 DD 98 03 EB 42 0C C4 20 E3 42 DD E0 51 AA DA C8 45 D0 A0 70 C1 41 A5 BF BB 90 BD 78 51 9A 88 01 49 8B 55 39 5A 50 17 22 15 18 B6 B3 92 A9 04 22 89 80 01 5D 8B 85 39 7A F0 BC 01 AF 43 5A DE B6 FA 86 84 20 0B 73 17 9E 73 7E DE 3F 67 9F C9 ED B9 0C DA C5 EC 9C 4E DD AD 34 14 03 5D 8B EB 41 4A F0 C3 38 60 0E E6 2D FE DB 6C F6 C0 F0 C4 98 C6 12 11 56 42 0C C3 C5 B5 A2 63 10 CE 68 50 D7 33 95 18 C6 54 19 A9 06 32 D6 36 E3 D7 62 21 D0 4B 66 CF 08 33 6F 00 14 A0 06 49 20 D1 41 0A 17 CC 08 BC 2E 88 41 A3 82 2F 0B A1 40 D5 2C 30 15 20 BB C4 B4 CC 68 11 9A 9A 18 67 A2 06 A7 63 49 69 F9 9E 0A E8 5A 9B 1A 7E 72 B4 E0 44 52 18 00 5B 98 CC 74 13 A5 01 C3 92 DD DD A1 D0 73 E0 D3 EA 1A 18 80 2A 4C 6C BD 99 3F FB 20 2E E4 84 C6 D6 D8 6C 5F 48 D0 85 02 1A BA EE 60 C8 FA 4B 3A FB B4 D0 BA 0C 02 A8 C7 09 9C ED 48 2B A1 6A 4C 71 69 CA 52 80 19 23 81 6A 5B 01 BB 6E EE 43 45 4C 84 CA 3C D8 F9 B5 D2 E8 51 BC 12 DC C7 36 A6 63 74 35 D0 F5 76 3A 3D 4E 70 CE E7 7D EB 91 DE C6 38 8D 05 76 ED 70 A3 A8 96 B5 8A 51 08 33 56 3C A4 9B 31 DB E7 2F 52 08 65 54 01 AA C7 74 9C B3 BF 35 A9 DE 0C D2 63 BC E9 F3 51 8E FC 32 91 06 6B 26 3B C4 E7 DA 7D 1D EE 84 67 67 3E E1 0D 37 D4 24 42 A0 09 58 C7 A0 6E 87 67 D3 C2 A1 AA B1 ED 34 FC 55 FA 86 88 20 49 EE DB 73 AD AF D2 34 31 40 94 98 FB B3 9D A5 01 76 29 5D 8F D0 2C 4A 4D CF 18 09 55 8F F1 39 CA B0 77 73 5B 59 00 D4 16 DB B6 32 47 03 55 64 08 6B 31 56 17 BD 4F 14 2B 28 50 80 8C C1 59 83 63 B1 90 81 59 01 B2 1C 68 24 83 D4 32 14 B4 F5 A2 14 67 A1 08 CA 15 B4 9F F5 C1 33 21 CA 63 B5 E1 06 71 40 F6 ED 14 05 48 3E 08 D6 8A BA 24 59 7A 4B 44 40 D6 DE AC 4E DD AE 0C 86 EE A9 84 BE E5 58 9F 39 12 53 64 57 CE 4E 9C 0F 06 5B 5B 22 ED 7C A5 F4 BA 08 0F 18 15 7C 2D CA EC 8D 39 C7 EC D9 18 B2 80 6A B2 36 E7 23 56 0E E6 5F 63 23 A7 4F 9D 9B 23 16 60 0D 36 47 8C E3 E9 C0 DD 09 D2 64 7E AF F2 5E 6B A0 E0 E1 41 4A 17 CC 0A 60 A2 C7 90 D3 96 49 0D 72 ED FA C1 71 27 7D 37 3B 24 C4 67 67 87 B9 9F D8 C9 43 9C AE CD 91 8B 84 03 AD 92 97 38 AD 7B 17 31 3B 98 B9 3A C6 6C DB 68 41 40 DE EE 94 95 38 2B 99 5A 4C 7E AA 5D 68 57 56 9D 45 BE 13 28 CA 16 EA 57 73 21 2E 5F 5B A0 6B 93 44 10 00 B6 32 15 E8 21 46 D6 0C F7 41 BB 99 0C 14 0F DD 00 32 2F 36 EB 57 64 2C D0 5C 50 D7 43 B5 19 0E 14 1A A9 06 32 EF 36 F4 56 63 F1 4E 62 B4 27 08 66 95 94 95 60 C6 5C C0 D5 3C 8F CA D0 9C 21 9D 6C 80 EA A6 B9 74 F9 5D 0F 3C 81 EA B1 E1 29 E1 F4 73 D9 3E CD DC E9 6F A6 6B 75 11 29 C3 F7 91 F6 E7 5A 1B 48 0F 73 21 3B 59 7D D0 37 32 7B 59 0B 5B 33 32 7C 53 6C 8C 63 CF 21 8D AC 86 29 7C ED DA B9 8D 68 C8 6B 9C BB 4F A0 68 15 01 FC 57 DA 1D DB 09 C0 99 DC C8 8D A4 6B 74 28 CD C4 07 A4 C8 9D A4 72 94 35 D0 EE D6 45 75 05 B6 ED 88 79 20 06 8A 1D 4A 12 D4 64 61 50 4E A4 18 CB BC F2 31 AA C8 D0 97 96 9F 6B 90 6C 8D E6 86 DA E7 F4 4D E5 E6 AF 67 E8 64 78 6E 31 44 00 C8 98 0D 49 91 F7 B8 B5 28 5E 00 DE C6 43 A5 23 3B 60 C6 5C E0 FB 3B B8 E6 86 99 0D DE 27 6B 52 1D 48 75 D0 80 36 E6 49 E6 E3 9B A1 2E 66 6B 32 3F E8 35 5E 14 66 D2 10 ED E8 2A 34 FA 37 B4 08 99 2D D3 97 A5 00 31 F0 83 25 04 28 5C 30 21 82 85 06 BA 6C 7B B9 C8 53 81 B8 91 D8 C7 2B 9C 6E CD 91 89 A5 C8 5F DB EB F6 07 B7 2C 69 76 79 4B 0B 5F A3 7C 33 55 8D 55 41 5A B0 82 22 58 03 35 36 35 CE 56 30 C2 68 DE EA FD 3E C9 BE 81 99 20 1F B4 B1 62 6A 63 DA C8 7E 04 BF CE FF C9 A9 6F F9 ED 61 95 28 65 A6 C7 80 9E 75 A9 C0 EF 62 EA B1 E3 27 1B 56 0C 63 CC 19 75 B1 E6 A7 11 AF 63 7B 03 55 8E BD 40 9A D0 9C 11 12 B6 24 51 93 38 65 AA C7 C0 D3 E6 AC 18 C7 A0 32 D4 63 E7 4E 3A A4 16 F6 37 5B 1F 6E 70 FA F6 37 B0 3B 98 FC 53 84 DD B6 30 E9 0C B5 18 FD 93 8A F6 EC 82 9E C5 ED EC 75 36 3F D4 E3 69 C0 8C 5C 21 9A A3 20 1B 4F E5 48 31 8F 50 66 A6 1E ED 1F 99 8F AF 4C 24 F0 03 13 10 6B DC C8 25 A4 3B 74 2E F6 4F 63 20 D6 71 7B 36 44 0C D6 36 E0 31 90 7B 3C 79 9F 0B 18 CF B7 C9 CB EB FC BD BC 9E 4D CC 06 8D 82 36 B0 26 F6 FC 68 63 C7 F8 7D 1B 3F AB DC 19 B2 05 DF CD 9A 24 EF 35 FC FD FE 67 97 26 27 2B A1 42 EE BE C6 DF 93 DE DB 29 7F 86 3F 46 44 C3 32 28 46 68 C1 77 D7 FA 61 E8 AB EA F1 1E F4 33 E9 EE E6 49 AB 1B 1E 26 67 41 E8 19 F3 85 DF 27 F2 E3 BC 04 6A C3 50 1A 07 7D 61 C1 A0 C8 FF F1 10 69 0F E1 84 3F E5 54 91 07 F0 1E 00 FE BE E1 7B 97 C7 AB 8F D1 FC 2D 59 E2 5A FC 87 11 A7 D6 34 01 03 5D 46 79 66 E3 95 21 EE 06 2A 33 D0 B6 97 A9 0C 32 C5 06 8C 1D 86 08 5A B3 DB 36 9D 6B F6 8D 08 60 66 A3 3E 21 AA 22 A6 E3 70 46 0D 9F 51 B5 0C 3F AC 68 03 80 77 33 E0 E9 9B DD 0C 32 C8 0D 4D 49 BD 90 A3 24 05 D3 3E 81 7F 9A F6 06 21 20 7D B9 8B 5B B6 C6 39 96 83 6C B0 6A F3 4B 84 97 A6 CB 15 E8 63 60 AF A2 FE 8B FC F7 F3 C6 30 51 07 F8 48 80 3F C3 24 85 0D 83 38 B8 D7 EB B3 A9 B7 0F BE 6F 5D 86 E8 CF 7B 16 4B F3 46 F0 E3 BC 76 79 16 A2 B3 8E 34 CA F5 4D 58 7D 7E BB 36 9B 24 E1 99 B0 B8 FA A7 85 BD F7 3E 34 94 BE E1 19 67 64 01 E4 E9 E9 66 00 8F 46 16 7A E9 D7 91 9E B5 FF 62 98 42 5E 8E 78 6F B2 5F 3A 9E A5 D4 9E 2E 98 09 BF AA 2D 1A 53 4B 59 BF 91 24 B1 33 72 69 55 0D 0F 37 14 CB 71 F9 A5 74 24 6C DE 8D EF 5B 96 4D 2C A1 A0 4C 70 79 D3 4B 68 67 4E 60 79 B3 4B A8 66 54 80 89 F1 A5 F4 24 7C DF CF 57 AE 1B 16 98 50 D0 B3 58 E5 C7 3D 82 53 FA E5 77 E2 CF E9 EE A6 D2 15 CD 61 1F 97 F3 F3 66 64 66 F6 BD 3E D0 A3 C9 25 C9 64 79 69 AC 8D 6C 52 6E 48 DB 16 9B 48 90 B3 7A 84 E5 70 D9 B4 DE 46 87 24 21 1D 8B 4E 27 4D 06 B9 C8 DB 36 9C CA E8 38 69 DF DA 67 E3 42 5A F2 5F DE 9A 69 E3 3E 94 83 B6 4D 35 F1 A0 21 30 3A F4 D3 6F 1A 21 45 07 5C 34 DF DA 1A 50 3A D9 A7 1F 58 C1 27 FE 19 F9 6D BC 34 E7 C6 86 20 3D 6C D3 AF 1A 10 C4 07 6C 9A 77 ED 10 11 03 CF 2D 3C F1 A2 10 60 79 BB 4F 7C 66 93 00 3A D1 A7 DE D0 B6 FB C6 2D A3 4F FC 68 28 4A 10 D6 6A 07 B4 2C A0 92 B3 50 7C 66 54 90 92 AB 50 BC 66 22 DE 38 4D 7A 6A 1F 89 07 37 A9 D5 D6 FD 9B 51 3C 68 52 04 4F 2D 45 F1 A2 CA A0 81 C3 51 BC 67 4E 90 86 BB 51 FC 65 D2 60 81 E9 A9 1E 34 5A AE 13 43 64 D4 9F 12 0C A4 20 48 E9 A9 5E BA 0B 10 41 64 D4 BF 5D 08 B8 CD 5B 76 A6 78 CE EF 37 12 9D 35 37 C4 5C D0 20 22 B4 6A 77 8D 0E 8B 85 32 DA 35 3F C6 85 4A 02 CB 56 A8 7C C8 3F E7 ED F5 07 38 6A 73 2F BD FC FE 8B 1B 10 1F 7C FE A4 C0 E7 C5 1D E6 75 B3 3D 99 3E 4C FA B1 FD 05 EE 99 B0 E8 4D 93 5B 34 4B 7F 16 C5 ED 67 20 69 FC 72 F7 90 5E 80 AE AD 03 C2 A0 B2 DD AC 86 3A 6D 88 DC 22 15 AB 59 4C 48 79 BD 64 86 B9 DD B5 98 C6 89 29 42 5B 36 B3 9A E8 B5 CA 00 BA 35 A0 E5 A0 E1 0B 86 B4 98 CE A0 22 B7 6B 51 E9 A1 3B C5 0D BD B5 AC C6 84 86 00 BC ED AD 86 D1 1C 90 BC E5 AD A6 34 62 88 16 9A B5 B8 C6 84 88 24 DF 9A DE 6D 13 57 39 CC 78 6B 81 AD 51 05 CD 19 49 AE 26 32 84 50 47 64 D7 23 1A 18 A9 0B C3 6B 99 AE 83 05 F1 B5 D0 D7 46 F3 66 FB EB 5D 4E 5A 10 50 BC 36 BB 1A E8 4E F3 C1 FE F8 D7 73 12 3A 7E 8D FD 3C EF 9A 3D A1 B1 EF 66 48 65 3C EF AC DD B7 35 C8 6B 68 F6 EF 68 CD E4 F9 53 01 D2 CF 2D 4B FA 0D 02 02 68 37 E9 5E E1 B0 08 39 3B BD 54 6A C9 B0 28 33 89 82 AC BB FF A6 4D BF D2 C7 95 7F 19 66 BC 77 6D 19 DF A6 D6 13 16 4B 36 C5 07 DC 34 1A 78 1A 8D 4D FC 2E E7 07 29 37 9C B7 37 F6 C9 88 E5 4D 7A 0F 5B BC 3D 27 42 80 B6 D2 53 B4 94 AA 0B 8A 0B F1 1C 2E 37 6D 29 8A 54 AA 00 B6 A2 70 74 1A D1 B5 44 35 8C A1 70 DC 1F 03 6E 9B 5E 23 5A 4C DF 91 13 3B FA 19 45 BC E5 C3 5B B6 D0 06 AF A2 00 B6 88 41 FB 46 DC 78 B2 2C D4 9B 5C 7A B3 77 81 57 F1 71 F6 B7 5D BE 3D E9 BF 89 A5 E0 2A 79 0E FF 42 4F 4D C2 D9 68 86 2E 0A 87 15 75 5A 5F 9B 8F 83 5C D4 1D 8F 93 BB 6D D7 39 5D 6D 9B 99 62 56 E2 B8 73 F8 70 DC DB 68 73 82 E3 A6 23 DC 15 B7 B6 E9 50 D6 B3 85 CB 85 C5 BB 26 EB C8 D6 14 93 82 AA 34 24 5D B7 0D DC 81 AC F0 A4 2D AB 7F E6 5A F8 DE 17 1A D7 C2 71 35 17 07 73 0C B3 F9 01 3E FB 2B 6D 5B D5 1F 70 D0 D1 5C B0 2D B4 8C EF F2 88 BB C5 DA 6B 36 F9 A0 E4 C6 F3 72 DD E5 BE 88 34 11 C8 16 5A 37 D5 17 4C 41 65 A3 7D 91 74 6F 37 25 9E 5B EE 92 D1 BC 68 08 5F 5B F0 83 43 2A 00 BC ED BF 28 D1 1D C0 C9 57 0D FA 45 D1 BC F5 FC 5E DB F6 82 42 12 0B 8F 05 B6 0D FC 41 A0 88 50 B8 F2 DF D4 1A 58 B7 1A 8A 58 37 F9 06 82 31 42 47 F6 FF A0 D2 88 B9 C9 77 4E 00 46 88 28 82 47 F7 00 A6 9A 21 B8 D7 BA D1 C0 48 34 35 CA C2 BB 07 01 A3 44 12 82 46 EE 04 41 A0 22 48 48 E5 C0 A9 A5 4B 01 42 C5 AB 81 91 A2 3A E3 CA 2D E9 C0 E8 34 61 02 27 0E 08 41 9E 2A 42 D3 B7 04 A0 D1 5B CF 57 89 F1 C1 48 34 29 C2 17 87 05 A0 91 3B CE 8A A9 ED C1 88 34 21 22 06 6E 4E 0D 41 A5 0A 80 DA 59 B8 39 06 98 DE 35 64 17 57 07 A3 44 B2 42 D3 EB 84 10 69 8D E7 20 8A EA E1 14 68 96 50 47 60 E1 24 1A 13 79 BF 63 BE B8 4D 06 8E 4D CE 90 ED 9C 28 83 45 42 40 91 CB 85 50 68 25 5D 24 6B CB 85 90 68 E8 8A 1B 26 EE 17 45 D2 A0 D9 37 70 C2 2D 4F BC E0 36 B8 B8 65 1A 24 A2 0B B6 0E 1A 41 A3 88 70 D9 37 70 DA 2E 8D E7 05 6E F6 E1 C4 68 8C 33 C7 6D 19 7F 50 78 7E 37 F4 2F AC D1 E8 78 45 AD C3 88 4C 6B 49 EE F4 0B 64 E2 23 1A 29 06 0B 22 71 19 B4 40 28 2C 0D C4 86 BA 13 73 B8 C7 64 E2 53 1A 1A 13 85 87 2E 26 35 D3 10 5D 68 E2 73 5D 1B CE 72 E5 93 8A 0C 66 F7 9E B4 73 F3 8A 4C 48 74 40 10 B6 71 51 8C DE F3 C7 63 D3 8A CC 68 33 56 B2 3E A7 BD A3 6D BB B2 06 02 3C 17 05 9A C5 C6 0C BA 37 9C 91 67 A7 18 B0 D0 7B C7 69 E0 F4 E3 26 96 85 1C 2D BB 71 9B 0D 17 12 02 ED 8B 8D 18 48 F4 96 E1 50 76 CE 35 66 86 D4 10 34 71 B3 0C CE F3 D0 B3 B7 71 BB 0D 00 70 B6 D9 C7 0D 57 41 07 32 15 2B D3 DD EC 3D 73 DF A1 F5 33 A4 33 69 A0 85 61 04 5C 38 0D B2 71 F3 AD 52 88 78 34 1B 47 1F B8 D0 BB CE 14 B7 A7 20 3B 44 1A 9F 6D 46 73 77 69 30 DC 56 66 EE 45 A1 AC 0A B8 9D 76 E4 6A 1A 06 E3 63 73 E3 91 E8 48 D8 60 84 21 B5 72 45 0B 85 7A AC 42 C5 EC 21 25 C1 78 78 72 75 8E 68 8B 57 48 8F B6 21 CD 93 2C 78 DE 6B 27 09 A0 E0 16 C7 2E 53 E1 AD 46 40 5F 39 42 CB B7 2C 8E 9A 0E 1B 0D E3 B7 AF DE 5C BC 83 5B 50 90 BE 9B 85 D7 C7 87 31 B8 D6 C8 4B 76 62 D5 4D 1E 87 86 5A 1D B9 A1 86 B7 2A 0E 16 F9 E4 37 1C 20 6F 4E 6D 9D 34 C3 C1 4E EC 45 08 AC 1C E5 02 58 95 05 C1 06 DD CE 70 33 84 B8 59 9A E1 CE 90 D0 ED C2 F5 16 F0 E7 58 1A 44 B1 04 D6 4E 76 81 A2 4D 76 93 76 8E 77 81 A2 CE 13 DB 39 E2 06 8D 40 44 E5 CF 30 33 F7 1B 4E DD 39 EA 25 A2 E3 67 95 B3 9E E0 68 75 5C 38 98 B6 73 E4 4B 4F 05 65 1A A2 B8 61 6C 7E 74 0B 89 6E 88 84 BA 23 DB BA 09 DA 20 54 12 DA BA 0D C6 8B 29 C2 5B 17 42 3B 44 3A B8 1A 64 88 DC 32 CC E9 D1 2C 35 B0 E4 0B 67 50 5E B0 74 72 8D 6E 44 57 44 7D 9B A3 D4 68 94 DC 28 19 E9 D2 0A 34 5D C7 2E 6F 78 74 8A 8D 23 BC 69 2B 2D 9D 24 A3 3F BC 69 12 2D 9D 26 B2 F5 34 FF D0 1A 2E 61 3A 51 57 46 F3 42 2F 0E 95 51 A0 55 BF 48 16 CE 96 51 19 25 AD E0 87 B6 C5 EB 43 09 BB D8 56 C8 F1 AE CA B8 DB 21 83 57 4C 17 1D 6A 3F 75 B6 AF E8 FC 53 D7 EE BA 3A AD 46 B9 20 D7 24 9D BB AB 3D A2 2D 01 1B FB AB A7 4D 29 0D 85 83 AC 0D A2 45 41 B0 74 EB 1D 68 8F 88 22 B2 75 9B 8D 0A 92 84 56 CE B5 16 88 9B 95 64 5A 3A DA DA 1B B9 56 05 E1 D7 0A D1 16 90 D8 B7 75 CF B4 46 C2 11 5B 3A EE 46 89 84 81 15 A3 AF 4D A2 1E E5 50 76 8E BE D6 86 E5 8D D3 B0 1D A2 06 E5 4F B6 AE C2 16 88 8B 95 8D D6 4E C3 B6 88 58 82 3B 57 62 A8 D1 2A 20 47 4D 02 E4 C9 42 C3 67 64 4B 44 19 82 C5 A3 B2 8D A2 34 E1 13 67 65 EB 43 B7 2E 09 29 3B 35 DA 13 DF 2C A6 B8 B9 87 C6 96 88 C1 23 CB 98 D4 48 E7 7A FF 15 E7 78 73 25 B4 46 44 17 DC 39 98 57 41 08 11 EF CE 67 76 89 A3 85 ED ED CD 1A 35 08 A8 08 F7 A7 35 18 D2 C6 28 4D 6A E6 B9 D6 8C A6 8C B9 D6 ED AA 25 D2 19 53 F8 FE 05 4E B0 59 20 A2 D3 DE 4B F8 E7 EA F1 EA 17 A2 F6 5C DA 99 8D 98 65 BC 73 FE 1A BB F7 33 AB F3 9B B5 3F BE 76 40 B3 E9 FB AB C7 E6 F4 E9 A2 C9 F5 6B 10 A3 C6 82 00 37 92 3C 59 32 08 04 DE 48 6F FD 3F 06 67 24 7A 32 75 61 C1 FD BE FB DF EC EF FE BD CB 81 9C 35 6A BF DE CF 73 52 5E 67 E4 50 B9 3A EF 7A 3D 7C 7E 3F 3F AB CD 36 22 DF 4F 1F D0 7A 7C 9E AF C9 B8 3A 93 9E 40 E0 B3 59 C3 31 16 75 CD 72 7B 98 E4 C5 97 86 39 39 36 39 38 CD 7B 3E BF B6 5F CD 6E 58 8E 99 92 C7 D9 B3 B7 F2 09 AE 2A B2 72 64 0A 17 77 6C 91 64 9D E5 F6 71 F2 79 3F 55 8E 91 B7 89 40 53 6B A5 B6 7E 3C 11 1F 45 7F AC D3 62 58 F2 AF 86 67 E0 6A 63 43 25 73 29 17 2B 3F BD 2D 69 BC B2 E9 6F 2D FF 8C D5 CE E3 C1 EF FB 4F F1 FB 5C CC 74 79 EF 7B 99 8C 87 8B F5 07 BF C4 0E 26 09 14 99 DC E4 FA D7 76 46 A7 A0 5B D9 63 CD 9D 94 7C C8 DD 4A 07 D9 12 5D BA 73 F6 CA 0A F2 78 FC FE EF 5B BA 05 A8 9C 9B 5E 37 76 E0 8A 60 04 82 ED C5 14 D1 E3 45 BE D8 43 4A 7B D9 E8 38 D6 54 A7 C0 3F FA F6 1D 7F 91 3C 4D 47 33 FE 43 E7 79 9E 76 DE CA 33 69 BF 8C B3 28 4F 5C 56 8F C9 95 85 B9 4D 54 9F CB 1B 2F EC B3 07 B6 BB 50 79 33 5F E9 FA F7 E0 6D 0D 52 5C CD EE DE E2 F0 94 ED AE 99 ED E9 C7 72 EF 37 BA A3 CF DF D3 63 AF DD 5C CB CA CD C8 AC D7 E4 FC 3D 7C B3 7E 48 45 7A 02 EB B2 8F F7 0B 77 34 01 D3 C1 4F 66 AC E3 C3 3F B4 AF D7 FD EA 9F FB 1E 45 EF 98 58 F0 2F 42 A7 F3 E2 15 FB 6D 38 93 6E 8A 0E 7B A7 06 A6 EE 74 CE DE E0 FE 9E CC D1 F8 35 DA DF C9 EF 8F 07 C1 93 8B 3F FB 34 82 9B 88 0F 56 4A 1C 8A DC B3 BC 8C FB 7B D9 C7 CB CB FB 86 31 40 46 5F E1 F3 E3 F4 B3 8F 6F AF 3F CB 51 B9 E3 C4 E8 84 40 19 DD 58 5C B8 7E CF F2 31 94 E8 E4 59 60 0E CE 3C 58 A8 F9 E7 9E E8 DB 3F 24 18 E2 BD E6 C9 48 D3 41 69 FE DA FE B9 94 4F 8C F2 0E 8E 6F 54 42 FB 2F F4 71 6B B0 3B A7 0E A4 7E FA 7F 94 48 78 43 E2 7D 85 F8 F0 F1 71 78 73 B3 91 73 31 1E FD 5F D4 B7 67 BF A3 AB C3 CB FB 6C C3 03 FC B8 FC 5E 1E 3E CD 19 3C 14 72 4D 9A 13 8B 04 C6 C4 AB 1E 1D EB 93 EC F1 25 77 B7 07 DE 5F 47 9F CD F8 7B 80 3F 59 A7 F0 E5 C9 75 F4 D1 45 2B 2B 0B 23 5F F2 94 33 47 73 B2 6A 28 A1 4F FB 6A 03 86 7F 59 DE D9 71 3A 8A 3C FE EF 2B 32 66 B6 AC CC 9B EE A6 74 13 31 F4 4B C7 81 97 AE 61 51 54 62 0A 2D 35 2F FF 4D 87 19 45 7E D8 EF CF FC 4D C5 15 75 67 1C FF 2B F8 67 28 C8 39 EC 3E D5 2F BF E7 9F 0E 0C F5 EE 55 CC 36 6E 81 57 F4 D7 46 9E 6E DA F1 71 FA 39 58 4E 8C 9C 79 81 FB 83 8A 38 9D A5 62 43 6F FA F0 CD 33 90 6B 39 E3 CE A5 63 8F E5 7B A3 27 5F D1 5F C7 A8 06 7F 14 D3 AA 3F C6 6F C6 03 7F D2 8E 22 3C D8 B2 73 B3 11 07 17 5F D7 AC 7E 2A 5F 70 CA 33 87 4F B6 3D 2C E8 47 FD AB 8D 95 7C 65 26 B2 60 98 ED F7 62 18 7B EB 28 1D 93 04 CA D4 75 CF F9 55 3D E6 5C 40 EC 62 8D D4 D6 62 D8 CA 9D D7 2B 36 7E 58 8F 83 5D 81 BF B9 B6 FB 54 DC F3 D8 BE E6 56 4D 98 A1 BB 87 33 BD 7B 3B 6B 75 E6 DD E6 CB 29 97 1F 64 FD 78 F9 66 DC 99 66 47 D7 2A 29 67 FF 77 A6 70 66 F4 7D AE F2 71 F8 FF E6 A7 18 93 C6 4A 1E 99 F9 5B 7F AF 9F FE 99 9C B6 CB 68 FD D9 BB 23 1E F4 60 F5 CB AD 71 BD E5 BE CE D9 8F ED 77 8B B3 0E 2E 86 93 92 8D 79 3C 6C D4 A2 5E AD E3 8A B3 FD EA 0E 5C F9 32 62 1E E1 10 7D F8 A0 05 A9 2D D7 E5 7F B3 3A 37 17 AD 30 1F 5C 4B D9 D9 9E 7E 04 30 33 98 24 7F A6 89 E9 02 6D B6 70 53 EF ED D8 19 FF 5E 93 C9 EB F2 CD FE 7F 1F E2 21 04 0F DA 2B E1 AF 9A 5D 1F 96 9F 71 33 A8 C0 CE 1A 52 A4 C4 AB E5 2F 81 98 EC 2F F8 0E 98 63 F0 45 D2 4F A1 80 A7 BF F4 7D 25 E7 85 0A 19 84 07 4D 4B 62 64 C2 5F EB ED 0F 26 A6 F9 D9 7A 07 E8 36 66 07 32 57 62 CF 18 C0 A4 35 B2 B6 91 CB E6 59 E7 EB 2B DA A9 10 BD 86 B4 53 4E BF DD F7 84 3D D1 95 EB 99 E6 FA BD 75 A2 51 6F D5 7E 44 01 B5 41 43 EA D7 30 B8 10 60 BC F0 05 62 7D 0D 6A A6 A2 59 B6 C6 56 04 24 1F A7 12 59 94 1B 54 C0 1F 56 B9 85 C0 92 05 E7 80 2B 12 4A 1B 34 98 26 49 C0 FB 77 A5 B1 4E 24 B2 A5 21 B6 84 3E B2 82 FC 52 69 02 C5 0C 01 B3 84 81 34 25 03 E9 F6 B6 34 FC 2C B0 F7 AD DF B8 50 1F 56 14 85 E8 42 FC 30 AF 68 BD 8B 35 5E 4C A3 3F E9 33 3E DE 6A 23 EC EB 9B D3 C0 B7 D9 8B 4B CB 93 07 66 7F BD BE 58 1A 36 E9 94 DB E0 E0 AD F7 AE 89 B7 08 43 52 83 EF A4 39 B5 90 89 8A D4 04 BA A1 80 3F 80 F2 E8 9B 84 DD 3A 34 EC 12 17 95 06 9D 0A 82 56 65 EC 20 5F 28 6A 44 BA 6D A6 16 5D 70 87 DF 8A 07 9E A2 3E CD E5 66 9F 7F 20 7D B9 BF B8 36 97 5D 28 91 E7 F6 7F 3D 3C C1 CA 33 13 E7 E5 70 CE 5D BF BB 4E 3B B7 DA 4C CF 1E 67 5E 60 E4 EB 1C 7D 97 8F 3F 2C 79 6F D1 9E B0 DE D2 C6 7A DF FF 65 C7 2F 5B 3B B0 DF 76 A4 E6 CB D9 D7 9D F9 E3 66 6D CE 4E A7 71 2E 31 77 66 0A 0E 0D 3F AB 65 A7 F0 27 DE 2F 27 E9 82 3C AC D4 8D 7D FB 3A 83 0C FC 65 D6 83 F7 EF 7C 72 33 F2 90 39 B3 37 B4 7B FF 6B 3C D3 43 44 16 9C 5E 67 E7 FF 2C 43 F1 79 75 FF 3D 8D B3 E1 C8 C0 2C 31 1E 0E C6 4E 5F EF 9B 72 67 E8 29 31 F4 6B B8 D3 7B 3C FB 3F C2 F7 F4 83 F4 9B 9E 8B 2A 17 F6 4E F7 F1 9B 38 D7 1C C8 1D 42 FC 3E A3 FC B1 FF BF D6 AB D4 90 B4 0F 99 0D C9 EC FC BF 5D 9A E4 36 5C 4D 65 C9 1D 89 5D 54 EB 92 5C BA 27 E5 6B AF F9 F5 D6 77 DE FB E2 2E 7D 0D A5 F9 D1 BE BC B8 19 9E 1F 32 3E AC 92 A8 A7 DE C1 97 B3 82 91 FA CD 79 F1 B1 93 87 AE 47 55 DD 68 FD 0E AB 93 5D D1 8D 77 48 38 39 C4 60 3E EA 76 47 B6 17 56 7C 10 FF CB 2F 44 DC 1E FE FF 1E 4E C6 30 1E 66 7F 5F FB B0 BE CF ED 7A D1 CD E1 4B 5D 13 E7 3C F5 4F E6 A4 3B 2E FF 7F D7 67 5E 5E E4 CD F1 9E 0D 7E 72 B2 F1 C7 EC 32 E6 36 2C 51 CF 9E 77 B3 ED 28 7B 65 71 76 42 18 3D EE 0C 70 F1 81 91 F9 F8 01 64 C4 EB BC C2 CF A9 14 AF 3A 7F EB FD 2A AD 49 9F 4B AB FF 9E E1 3A 40 FF 65 33 FA 46 E5 74 35 AF 9E EA F8 BA E1 4D 21 54 21 4A 83 24 40 9E 4F CF 90 3D 16 09 FF B2 CC F3 B1 E1 58 CE 8D D7 2B 31 1E 33 0D FD 3E 16 F2 76 62 E8 BD B3 45 8D 34 C0 DE FF 57 5F A3 42 EB FD 1C 96 8F F6 6F D1 A3 F8 F3 32 E0 BF C6 3F EB 4A 4F 71 68 FD 34 7F AF 15 49 B9 62 93 37 7F E4 3E 37 7C B3 24 BE EA 51 DF BB 6B 15 6F FF 3D C6 64 81 F6 67 AC 93 5E 63 64 0F 32 F9 9F 5D F5 BB 8C E2 59 73 22 20 54 40 A4 81 90 81 95 9D 7A 63 14 CF 59 3C 02 8B CD D1 95 A1 8B EF 36 EB 47 58 15 9A 4A 3C 1D 99 99 D6 98 D1 44 0F 76 0C 38 CC D7 E7 E9 BB EB 3F B6 EB E2 3D 0D F7 EF B0 FF 7C FF F9 9B CF A3 0F 4E 8C 9D 3D 3F BB F7 05 06 B0 CA 62 66 5A 2E 4E AE AC 51 F6 DF CF C5 F3 FE 78 7E B1 52 CA 16 D7 96 BF 58 69 EE F9 4A EA 9B D6 16 0A 33 49 A2 20 50 51 46 62 5F 9D CC C3 77 13 42 CF FC BE 0A 94 ED EB D9 B3 F4 A8 EB DC BE 8E 5B DE 39 BF 47 49 BD F2 66 12 AC 98 FC 1F 5D B0 FD 60 9A BF D0 71 40 CF F3 AE 6D 42 F6 76 62 00 FA 4C 7D 13 EE 9D 0C 8C 7D 8C F9 EA 76 95 AC C5 27 DE 6A 7D 5B 5F 17 73 EF CF 84 4F 77 0F 4C D1 05 31 95 89 83 17 CE F6 BE 39 33 D4 92 1B 01 A0 3D 7B 32 65 CB 4E AC AD 37 A4 DD 29 16 B5 02 6C 1D 0B FD 23 55 A8 3D 70 1E D8 FA F2 4D 89 F7 65 99 8C E6 53 3F 36 EC EC E6 09 1C DF 01 C6 94 1E BD 51 FC B6 D3 A6 0D B1 E2 9B 6F 16 BA B8 C7 47 16 83 07 15 DA B0 CF E0 5C E6 28 2F D1 60 E0 F3 37 B7 C0 D6 AA 69 1A D4 81 98 EC B9 F0 E3 AB 9D ED 5E 21 BA B6 FE 2E E8 FC 23 C7 54 D5 1E A0 7F A9 64 CB 28 B6 6F EB 8D 18 CD 95 65 B0 53 7F 4D 53 47 E9 10 B9 6F F4 73 51 90 B5 CD AF 74 CD CD F1 3A 59 C6 F6 6E E1 B3 81 2F 8B 30 21 7D 06 4C 18 74 7C F5 72 42 71 40 75 28 EC FB 71 EA 1B 0F 5B 32 17 59 A5 CE 9B 91 0F 67 5D EF DE C8 3F 6F 8B F8 09 4E 9A 6C 17 D3 EC 0E 5D 49 4B 8F DD 36 46 37 3E A9 99 C7 6D FF 94 79 E6 10 CE 34 26 C8 D2 40 C2 B5 B5 BF C7 1D F1 D8 9F B2 21 0E BB 5C 4B F7 9C 81 E3 F9 78 3D C7 45 E9 DE 24 17 98 E2 FD BD 40 8A D3 3B 46 95 F1 9A 7F 31 13 63 83 44 97 B6 3B 1D 73 F7 6A 7D 7D FD 3D E4 B3 FE 4B 7B 16 BC 9F 1D 43 F6 67 64 A9 A5 49 CC DC 0B 3F A0 1D 78 1D 3D 4D 1A 5E A5 82 A2 5E 6F 7E 75 DC B5 C4 5A C0 14 CB 93 5C 79 09 5C B3 47 D9 F8 9C 89 6C FA 02 D5 B4 CD BB 22 D7 7E 60 EF E0 5D 71 E4 BF 48 E1 2C 80 DE C3 5A A9 A9 97 5D 68 84 3C 34 E1 43 24 21 B4 54 8A E1 A6 46 29 22 0D 9A 20 91 10 05 E4 12 47 80 2B 1F 07 A1 C4 7F 0D 2E A3 05 FE 0F 4A AA BF D3 86 CA 6F 55 17 77 C6 B8 AF 59 66 68 05 BD CC 62 E6 68 D7 AF C1 65 98 F1 FE 9F 7D E9 B1 2B 6B 81 C0 CB 9D 1A 17 84 0E 3A 7E FE D6 9E D2 34 BD C6 C2 88 5E 8A 5C DD 19 BE A9 56 DA 19 0D 9B D4 4B 61 A4 49 7A 97 EA 2E 17 52 1B B0 42 F7 1A F3 08 36 18 67 06 7E AE CC 58 B6 CF 25 2C B9 CA 27 06 F6 6D B3 FF 35 CC D9 AE 62 B2 EC 66 AE 59 57 76 48 59 A1 B2 74 CD B5 92 7D F6 BA 02 6F 4C D4 AF 7B 52 66 97 C6 FD AB 3C AF 19 5F CE CE 33 6B 6F 6A DF 6A 5F 52 24 B2 44 40 DA CC D0 B0 5F D2 D4 C1 7F CC D2 71 E7 F5 6A 6E F5 A3 0F 64 61 9E E2 6B 9B 86 BA D8 22 AB 6E 0C 99 39 F2 65 E3 D9 67 1B 32 5C D9 90 4B 34 EB FE FC FF DF 37 F2 64 0F FB 5E 34 07 4B 3F B8 EE 85 27 81 98 80 C9 FC 38 B6 5F C7 67 66 C7 C5 52 99 59 EE 06 92 1F FE D7 07 06 EA 08 9B DB EB DF E6 78 57 9D 00 AD FB 04 0B 22 C8 84 DD FD CB DA 72 CA 5B 09 AF 35 93 7B 36 39 7D 82 DE A2 06 54 06 4C 05 06 10 07 24 52 14 80 C3 F9 53 48 78 16 C2 D8 42 56 C4 20 74 BF CC 0C 30 2D 89 58 54 AC 45 24 40 79 BD 23 D3 A4 A4 94 F0 93 4B 05 90 C8 95 89 58 3C 88 91 12 24 80 78 41 88 64 54 91 49 10 1E 6F 0A 02 94 A4 94 EB E1 20 72 BF AD 66 90 D2 B0 79 11 23 FD A1 2A 91 52 2A 45 29 6C 45 23 FD A6 93 DF C5 7D DE A2 03 90 18 7F B4 26 29 17 C3 FC C0 9E 43 C9 2B 13 7E 92 E9 29 65 63 4F 12 B0 A9 15 24 A6 44 FF B5 3F E9 2C A6 5F 85 95 78 2E 92 AF C3 FC 96 D2 6A 3D 9D 09 29 50 0C 4A 6A 3D 9D 87 29 65 34 DB D3 F9 59 4C BC 44 99 58 7E 98 12 41 21 09 02 D8 95 8D 26 5E 16 69 7C 24 0E B3 2F 08 D2 C4 A6 5E 16 65 E1 66 97 C4 AC 4A 65 E2 28 25 61 67 2C AC 16 49 78 59 CA 0C 16 42 C8 53 CA C2 11 2B 0B 61 32 26 49 58 2C 85 90 B2 1A 49 BD 21 05 A4 CF E5 74 B0 69 0D 21 8E FE B5 AD 83 48 69 0D 21 A4 34 86 53 FC 96 5B 07 90 F2 1E 43 96 56 0D 22 D8 3C 87 90 EF F7 84 CE 99 58 5B 07 90 F2 1E 24 3F EF 4F D5 03 44 AC 22 44 16 56 48 07 5B 08 30 1D 07 94 E8 44 12 B0 FE 55 32 42 95 B1 08 1E 27 F5 02 22 2D 87 E9 81 4B FD A1 29 7F B3 7A 6D 62 53 E6 F5 A5 84 C8 99 13 22 64 4A 1F E6 B1 FE F0 9A 65 61 FB A2 63 A7 12 B0 99 13 24 30 29 FB 7A 5B 1A 4F 2E 0A FE 57 4B 10 C9 09 D5 2B 0F F2 5A 56 21 92 18 51 2B 0F F3 02 A9 1F EF 09 C3 13 F1 55 2D 89 BD A3 3A FB BD 4A 75 19 FD 40 31 25 62 20 39 D6 C2 12 B6 21 03 BF DA 12 A9 1F BA 26 32 E2 56 25 3C BE 1F A6 06 27 FB C2 71 49 A4 FA 70 57 F2 BA 58 D2 79 70 77 F5 AF 4B 1A 4E 80 62 5C 42 87 FD E9 FE 60 55 24 52 69 32 41 89 70 B3 2F C2 CA BC 17 4B 06 90 DA 58 3C 12 9D 0B 61 12 25 4B 61 FE 4B 42 B6 15 00 1E 24 03 12 9D FB A2 63 2E 16 6A 1B D5 F2 96 53 2F 06 48 31 08 1C FA 58 94 D2 F8 7F 2B 29 97 85 9A 5F 0F F3 58 A7 FA 2D 8A 48 B7 82 B2 9C AF F6 84 BF 74 4C 52 0C 4D BD 3F AD 66 7F 2A FF 68 4B F7 44 C6 6D EA 53 CA 79 7C 4A 79 78 D2 C4 AC 16 42 C8 68 15 A5 8B 19 81 DD AC 14 97 04 17 74 FB 54 59 1F A7 34 C5 26 93 98 B2 1D FE 68 90 FE B5 C2 FE A0 2A 47 FB 0A 0E 43 3F 6F 45 59 CE 69 58 41 40 E9 06 21 92 20 3A 20 91 0F F5 AF 41 96 C3 FD 61 11 22 24 44 88 91 24 59 D2 B6 13 22 64 4C 89 91 32 43 24 32 43 24 32 43 24 32 43 24 32 2A 45 48 A9 15 22 A4 54 8A 92 29 22 92 29 22 92 29 26 FE 44 2A 52 CA C3 F6 47 63 3D C8 72 57 ED EB 49 97 85 99 78 59 97 85 99 78 59 97 85 9A 19 FD F0 9D 29 65 32 F0 B3 2F 0B 32 F0 B3 2F 0B 32 F0 B3 42 FF 88 F2 10 C1 65 3C AC 16 42 C8 59 1F B0 B2 D1 EE 21 B9 48 68 11 A4 EB 60 D2 3F 60 98 97 12 B1 29 E5 C4 AC 4A 78 43 0B 3A CF 2E 25 62 53 C2 0C 4B 88 5F D4 0D 2C 69 3E 9C 4A C4 A7 97 12 B1 29 E1 06 28 F7 02 3E 92 E9 63 49 E8 F6 FF 7E 92 99 40 7D 2C 69 E1 FD 40 95 89 4F 08 62 53 C2 45 69 39 8D 26 96 34 9E 5C 4A C4 A7 97 12 B1 29 E5 C3 FD A1 32 9E 5C 4A C2 B4 B1 A4 FA 71 2B 11 49 14 91 49 29 E5 C4 AC 45 24 5A 58 89 F7 A0 F6 A7 FC 13 14 7B 74 A9 F3 7A 32 80 E8 7F 50 1F 6B 08 BC 42 0C 2C D4 7B 75 3F 49 65 35 1E DD 12 94 B2 99 78 59 97 85 99 78 59 97 85 B0 59 0B 21 64 2C 85 90 B2 3F 60 98 50 31 2E 25 62 53 A8 18 97 08 7F 50 34 B0 69 34 9D 40 C6 9C 4A C1 C3 3E E6 45 3C B8 41 17 B7 78 F0 53 6A AB 3A 5F A5 ED 85 C6 1E 1D 99 20 CF C6 20 CE 7F FE F1 00 EF 57 D2 BD A2 92 1F 43 77 56 E1 9F 8B 1A 2F C5 7F 07 46 9B EB 24 FA 7B D5 F2 DC AC 2F C1 8A BF B4 59 FD AB 6A D9 38 79 FD D6 9F FE 5A 7D 99 EF 28 74 BB D1 AB FF FE 80 C4 3D 7B 00 40 07 00

Link to comment
Share on other sites

The reason asked was that I wanted to read out the ship's acceleration.

Two good ways to do that:

1: Use the definition of acceleration - change in velocity over time: Presumably you have a big loop during the flight: use it to record the previous iteration's velocity vector and previous time:seconds. Then do a vector subtraction of the current and prev velocity vectors, and divide by the delta time of current time:seconds and prev time:seconds. Keep in mind the 'frozen update' problem if you do this and make sure you take your measurements immediately after a "WAIT 0.00001" statement.

2: Put the science instrument accelerometer on your craft. Then you can query SHIP:SENSORS:ACC to get it directly from the KSP Api. Warning: this doesn't seem to adhere to the CPU vessel convention, and IMO that's a bug that needs to be fixed, but as long as you're running the code on the active vessel only it should work.

It happened again!

The strange error with the floating kOS part. And a lot of NullReferenceExceptions. As usual the hex code of a rar archive:

(snipped hexdump)

I'll see if erendrake can deal with that when he gets back. Not to sound rude, but I don't have the patience to deal with the weird way you're posting the reports, where I'd have to go around installing extra tools to extract it. I don't want to deal with the old days of usenet and having to uuencode everything, and this feels like very much the same thing. There's plenty of places that you can host a binary file.

Link to comment
Share on other sites

First off, thank you very much for taking the time and writing some examples. They're useful..

Hmm. We were talking about this topic before - the basic conflicting goals are:

* kOS should not be Mechjeb. It should not just *give* you completed code that does everything for you.

* To show how to use kOS you need real world examples that solve realistic use-case scenarios.

A) I don't think that there could be a single ascent script that would suit everyone. However complete your code, it probably wouldn't do things my way. I'd start tinkering with it in no time -- but there's a huge difference between starting from first principles and having something to work with.

B) Generally, I wish there was a code repository for common tasks. Not necessarily as part of the documentation, but somewhere. How about a handfull of demo-scripts that get dumped into the archive? They should work and perform actual tasks, but not necessarily perform them well. If they perform good enough, people might copy-and-paste them into their own scripts. To which I say: so what?

C) Even if kOS shipped with a complete Fly-me-to-the-Mun script, it wouldn't be mechjeb, attract mechjeb's user base or make mechjeb obsolete. It would, however, be a powerful demonstration of kOS' abilities (though maybe not a good demo for documentation purposes: too much stuff in one place).

D) Maybe the real question is: what is your target userbase? Do you want only learned programmers, or will "geeky and interested" be enough? I for one haven't programmed since school, and you can probably imagine what *that* was worth. Basically, I'm learing things with, for and from kOS... and I really wish the documentation wasn't intentionally terse.

Back to the Tutorial: why are programmers so hung up with "Hello World"? About 40% of the page are dealing with printing to the screen. I know, "Hello World" usually serves as the first example of getting anything done. Why is this so? Because the author has no idea why his readers want to learn a language, and he needs to start somewhere. However, with kOS one can make certain assumptions about the user's intentions, and there is an obvious starting point. I hereby suggest to break with tradition, strike "Hello World", and replace it with the following:


lock steering to heading(90,90).
lock throttle to 1.
stage.

Link to comment
Share on other sites

Is there a way to read the description of a vehicle? (the desription that you can write in the VAB) I searched this Thread and with google but I did not find an answer.

Link to comment
Share on other sites

The reason for "hello world" being the most common starting point is that it requires no explanation of the language and is immediately obvious just looking at it what it does. This frees you up to examine the other surrounding details about the system like how to write the program, how to compile it, how to run it, where the code gets stored, how to get the system set up, and so on. If you look at the hello world example I wrote, its not really teaching how to use the print statements. Its teaching how to edit and where the archive is and the local volume and so on. These are basic things people have had problems with in the past that trip them up and prevent running any sort of program at all.

As to being intentionally terse, its not. Its just a question of where to spend the time. When BOTH the examples AND the reference information aren't there yet the reference information is the first thing to write. Get it right first because tutorials without complete ref docs is even less useful than ref docs without tutorials. Thats what we had before version. 0.9 and it was painful to use.

Link to comment
Share on other sites

Is there a way to read the description of a vehicle? (the desription that you can write in the VAB) I searched this Thread and with google but I did not find an answer.

Hmm. No but it might be possible to add it.

Link to comment
Share on other sites

Can someone update the wiki with the most recent list of commands and body/attribute references? It took digging thru the developer forum to figure out why a command in the videos mentioned here didn't work. I'm using this address:

http://kos.wikia.com/wiki/List_of_all_Commands

to find the insufficient list.

That wiki should be considered dead.

It was only ever maintained by the fans rather than the developer, so most of what it said was raw guesswork, and the new dev team has more official documentation here: http://ksp-kos.github.io/KOS_DOC/

If anyone else feels like updating the wiki, go right ahead, but I won't be doing it as that would mean writing the same thing in two different formats.

Link to comment
Share on other sites

OK, I will refrain from further suggestions regarding the way you do the documentation. Realistically, I should be glad that someone is doing it at all... but no, I have to get into backseat-driver mode. Sorry about that.

Still, some problems.


set node to NODE(0,0,0,0).
set node:eta to eta:apoapsis.
Object reference not set to an instance of an object.
set node:eta to 30.
Object reference not set to an instance of an object.
//this contradicts the docs

set node to NODE(time:seconds+eta:apoapsis,0,0,0).
add node.
//that works


until node:obt:periapsis > apoapsis {
set node:prograde to (node:prograde + 1).
}.
Suffix OBT not found on object.

...and, this:

kos-woes.png

The Lab is the root part. Crossing the T on the rocket, you can imagine that it's not facing in the right direction. I can run my launcher script if I adapt it to the orientation; however, I can *not* select any pod or probe core and control from there. Or rather: of course I can, but then kOS goes haywire, losing any sense of direction. If I "lock steering", it will spin ever faster and never settle on any course.

Stripped-down craft file and savegame of the craft in orbit: http://ksp.schnobs.de/stuff/kos-woes.zip

Link to comment
Share on other sites


set node to NODE(0,0,0,0).
set node:eta to eta:apoapsis.
Object reference not set to an instance of an object.
set node:eta to 30.
Object reference not set to an instance of an object.
//this contradicts the docs

The problem is that the node needs to actually be attached to the vessel's flight plan before you can apparently move its ETA, it seems. That's a bug to be reported. You should be able to adjust the ETA and then attach the node, although it seems like a weird way to do it it should be legal.


set node to NODE(time:seconds+eta:apoapsis,0,0,0).
add node.
//that works


until node:obt:periapsis > apoapsis {
set node:prograde to (node:prograde + 1).
}.
Suffix OBT not found on object.

For maneuver nodes, the name of the suffix is the full spelled out word "ORBIT". Only for Bodies is it the abbreviation "OBT". This inconsistency comes from having different people work on different parts of the system. I think the fix probably going to have to be to allow either spelling everywhere, to keep things backward compatible.

How the heck did you make the lab be the root part? It's not an allowed command module in KSP (you can't pilot from it).

Link to comment
Share on other sites

How the heck did you make the lab be the root part? It's not an allowed command module in KSP (you can't pilot from it).

"Root part" only means that other part is ultimately connected to this one, the first part of a vessel. Just start a new ship and browse the part list, there's a host of legal options. It's entirely possible to have a structural girder as the root part. When you try to launch a vessel without pod or probe, there's a warning that you won't be able to control it (just tried that, you can't). However, the vessel's orientation is defined by the root part until you "control from" somewhere else.

Link to comment
Share on other sites

"Root part" only means that other part is ultimately connected to this one, the first part of a vessel. Just start a new ship and browse the part list, there's a host of legal options. It's entirely possible to have a structural girder as the root part. When you try to launch a vessel without pod or probe, there's a warning that you won't be able to control it (just tried that, you can't). However, the vessel's orientation is defined by the root part until you "control from" somewhere else.

I've never been able to start a root part as anything other than a command core. The other parts are greyed out until you put a control part on. Has that behavior been changed and I didn't notice?

Edited by Steven Mading
Link to comment
Share on other sites

So, I've been playing around with kOS for a day now, and I have a few suggestions to improve it. I've been using the pre-release after finding that edit was totally broken/removed in the release version.

My first problem was when I was trying to get into a simple orbit, for some reason I couldn't make the ship turn when it was in the air. Long story short, I had SAS on, which was counteracting the ships controls. This seems rather dumb, it makes sense that the SAS should work with the steering, not against it. After I worked that out, I managed to get a small pod with infinite fuel into orbit.

Now I'm working on a follower AI autopilot script, which simply controls the vessel to mimic the target ship. This is where I really started to get annoyed. I hear all over the place how kOS is supposed to be a very easy programming language, and in some respects I agree. However, after trying to debug some code where the only error message I get is "Cannot cast from source type to destination type." (or similar), it becomes very tough. I am an experienced programmer, in a variety of languages, and I've never coded in a language that's as unhelpful at debugging than this. At the very least I expected a line number, or what source type cant be cast, but nope. Nothing. Literally the only way I could find to debug what line had the error on was to spam print's in between each line.

Okay that's most the ranty stuff over.

In my autopilot script, I've been trying to search over all the targets and find the one that the player is controlling. I thought I could just find the ship that doesn't have SAS on, but it seems that SAS (and all other action groups I'm assuming) are global, but changed when the player swaps ships. Could you change that so I could do something along the lines of target:SAS.

Failing that, I looked through the documentation (which is very helpful, but kinda hard to navigate), and found the control object type, thinking I could just check the neutral bool to see if the autopilot is active on that ship. But for some reason I simply cant access anything from it on another ship.

Okay, so I'll have to do something a bit hacky.. I'll loop through all the engines and check for one that has a thrust limit less than 100, then just remember what ship that is so I can turn it back up afterwards. Now, I haven't done much with lists in kOS, so it might just be my coding, but I keep getting syntax errors for "list engines from aShip in engs", which according to the docs is totally valid.

So, to solve all this, could you add a bool for whether the player is controlling a ship, and allow usage of the control object on other ships, I'd like to be able to get the throttle too.

Another problem I keep running into is checking if an object exists. I'd like to do something along the lines of "until target { blah. }." or perhaps make a function to check if the parameter is a real object.

A minor bug I found is the vecDraw lines are always starting at the players active ship instead of the ship of the kOS unit (and without a way of detecting what ship the player is controlling, I can't make a workaround).

Although it hasn't been an issue for me yet, how about a new part that is simply a storage drive, with a much larger capacity? It seems dumb to limit the potential of the mod simply to simulate an assumption (that their technology is limited). Just put it higher in the tech tree, and nobody can complain. Humans don't send ships to other planets, build mining stations to produce rocket fuel that then goes on to fuel giant space stations, so the assumption that kerbals are behind in technology is a bit dumb..

The main reason I initially decided to get this mod was so I could control Infernal Robotics parts. I'd love to see real ways to do so, instead of just action groups (which are very limiting). I know the dev was looking into it, but he hit a snag and couldn't continue (or something).

A function to check what type of object something is would be very useful. When searching for potential targets, I have no real way to see if the target object is a planet or a ship.

I found having multiple vessels running scripts at once to have kinda strange behavior. The monitor stays open when changing ships, but any input into it goes onto the active vessel, not the one the monitor was opened for. I'd either like to be able to open multiple monitors from different ships at once, or just have the monitor close when you change ships to prevent confusion.

Also, I think you should start aiming towards expandability. I'd love to be able to find parts that are designed to interact with kOS, like range finders and various robotics (similar to gmod's wiremod).

I'd love to be able to create my own functions too, although I understand that might be a bit of a leap. Afaik there's no way to get a value out of just running another program.

Edit 1: Oh, and a special startup file that automatically gets ran when the kOS unit is loaded would be awesome, so I don't have to type "run blah." every time I reload or whatever.

Also, not sure if you could make the current program's progress and variables save between save games.

I had more suggestions, but after writing this wall of text, I've forgotten most of them.. Ill edit or post again if I remember them.. And 4 am probably isn't the best time to be trying to remember things..

Edited by Boodals
Link to comment
Share on other sites

So, I've been playing around with kOS for a day now, and I have a few suggestions to improve it. I've been using the pre-release after finding that edit was totally broken/removed in the release version.

My first problem was when I was trying to get into a simple orbit, for some reason I couldn't make the ship turn when it was in the air. Long story short, I had SAS on, which was counteracting the ships controls. This seems rather dumb, it makes sense that the SAS should work with the steering, not against it. After I worked that out, I managed to get a small pod with infinite fuel into orbit.

SAS-based steering is controlled by KSP itself not by the mod kOS. It causes KSP to override what kOS is trying to do. But what you can do is have kOS issue an SAS OFF command, then have kOS do some controlling, then have kOS issue the SAS ON command afterward when its done. This is unlikely to be changed, but the documentation should mention it, so I've made a note of it on the documentation issues page.

Now I'm working on a follower AI autopilot script, which simply controls the vessel to mimic the target ship. This is where I really started to get annoyed. I hear all over the place how kOS is supposed to be a very easy programming language, and in some respects I agree. However, after trying to debug some code where the only error message I get is "Cannot cast from source type to destination type." (or similar), it becomes very tough. I am an experienced programmer, in a variety of languages, and I've never coded in a language that's as unhelpful at debugging than this.

It's late-binding language, which is the problem causing that error message to be thrown at run-time instead of compile-time. Basically, kOS traps exceptions and prints them out, regardless of whether they were thrown explicitly by the kOS C# code or thrown because C# threw a runtime exception in response to the C# code. What you're seeing is the actual C# exception rather than something the kOS code detected. So the problem is that if we exposed the line number in the exception, you'd be seeing the line number of the C# source code, not the line number of your own kOS script. I'm not sure how to fix that in a generalized way. I have an idea but it's a bit messy at the moment. But in a nutshell, the problem is caused by the fact that the C# code in kOS relies on the underlying system to detect whether a runtime conversion between generic object 1 and generic object 2 will work, and thus it doesn't have the ability to map the error to where it was in your own code.

That's not a fix or an excuse - just an explanation of why it's a pain to fix it, and why it can't be a fast fix.

At the very least I expected a line number, or what source type cant be cast, but nope. Nothing. Literally the only way I could find to debug what line had the error on was to spam print's in between each line.

The C# exception message itself doesn't tell you these things. I don't know why.

Okay that's most the ranty stuff over.

In my autopilot script, I've been trying to search over all the targets and find the one that the player is controlling. I thought I could just find the ship that doesn't have SAS on, but it seems that SAS (and all other action groups I'm assuming) are global, but changed when the player swaps ships. Could you change that so I could do something along the lines of target:SAS.

Hmm... that's behavior inherited from KSP itself. It would be easier if it worked the way you say, but I'm not sure how to do it. KSP itself, whenever you switch ships, resets the global SAS flag to be whatever the persistence save of that ship recorded it to be. We have the same problem with the special keyword TARGET. Although each ship stores its target in persistence, and KSP switches the target when you switch vessel, at any one given time TARGET only tells you the current ship's target.

A keyword for "whichever ship is active vessel" might be a good idea to add, alongside SHIP and TARGET.

Failing that, I looked through the documentation (which is very helpful, but kinda hard to navigate), and found the control object type, thinking I could just check the neutral bool to see if the autopilot is active on that ship. But for some reason I simply cant access anything from it on another ship.

Okay, so I'll have to do something a bit hacky.. I'll loop through all the engines and check for one that has a thrust limit less than 100, then just remember what ship that is so I can turn it back up afterwards. Now, I haven't done much with lists in kOS, so it might just be my coding, but I keep getting syntax errors for "list engines from aShip in engs", which according to the docs is totally valid.

It should be valid. Can you post an exact snippet of the code and the error message? If it's not working that's a problem.

So, to solve all this, could you add a bool for whether the player is controlling a ship, and allow usage of the control object on other ships, I'd like to be able to get the throttle too.

I think the more elegant solution would be to make a third built-in variable alongside SHIP and TARGET. Something like PLAYERSHIP, that returns the vessel the player is currently active on. It would be a very quick edit to the code, (unlike trying to report where a cast error is coming from, which will take more work), and I could probably add it myself in a few minutes after I finish this post. BUT, be advised that the project leader erendrake is on a vacation for the US 4th of July holiday so any changes won't be public for a while even the easy ones.

Another problem I keep running into is checking if an object exists. I'd like to do something along the lines of "until target { blah. }." or perhaps make a function to check if the parameter is a real object.

I've often thought there should be support for checking nulls, but currently there isn't, and kOS tries as hard as it can to never return nulls to people. But the alternative is to return a different KIND of thing, which I think is a problem. (i.e. if the object doesn't exist then return a string "none"), and that's a mess because then the kos script code has to deal with the fact that the type of the thing differs when the thing doesn't exist. At least with NULL, its a magic value that is always "the right type" and doesn't cause casting errors. But that's my opinion, and I don't know if that change will ever come.

A minor bug I found is the vecDraw lines are always starting at the players active ship instead of the ship of the kOS unit (and without a way of detecting what ship the player is controlling, I can't make a workaround).

Yup that's is a bug. It's not supposed to be doing that. Thank you for reporting it. I'll add it to the github issues list (it would be simpler if you'd add issues there next time).

Although it hasn't been an issue for me yet, how about a new part that is simply a storage drive, with a much larger capacity? It seems dumb to limit the potential of the mod simply to simulate an assumption (that their technology is limited). Just put it higher in the tech tree, and nobody can complain. Humans don't send ships to other planets, build mining stations to produce rocket fuel that then goes on to fuel giant space stations, so the assumption that kerbals are behind in technology is a bit dumb..

Multiple types of KOS part is a thing we've wanted to do for a while, but basic bug fixes have had priority.

The main reason I initially decided to get this mod was so I could control Infernal Robotics parts. I'd love to see real ways to do so, instead of just action groups (which are very limiting). I know the dev was looking into it, but he hit a snag and couldn't continue (or something).

I don't know the state of this, but I'd like to. One idea is to just add support for the mods that add more action groups (there's a mod out there that gives you like a hundred action groups to pick between. It would be nice if you could use them from kOS, going all the way up to AG99.)

A function to check what type of object something is would be very useful. When searching for potential targets, I have no real way to see if the target object is a planet or a ship.

Yup. That's a problem.

I found having multiple vessels running scripts at once to have kinda strange behavior. The monitor stays open when changing ships, but any input into it goes onto the active vessel, not the one the monitor was opened for.

Yup. The terminal window with multiple CPU's is messy. Can you describe the behavior in more detail and post it to the github issues? (The link is on the first page of this thread).

I'd either like to be able to open multiple monitors from different ships at once, or just have the monitor close when you change ships to prevent confusion.

Also, I think you should start aiming towards expandability. I'd love to be able to find parts that are designed to interact with kOS, like range finders and various robotics (similar to gmod's wiremod).

I'm working on one right now (a mod that is not part of kOS but is designed to work with it, to give you a laser line-of-sight rangefinder), here: https://github.com/Dunbaratu/LaserDist - The problem I'm having is that the ray-cast intersect finder is low level Unity and the KSP stuff on top of it doesn't always seem to match what's happening in Unity correctly.

I'd love to be able to create my own functions too, although I understand that might be a bit of a leap. Afaik there's no way to get a value out of just running another program.

The only way to do it now is to take advantage of the fact that all the variables are global. Set a value in the program and then read it later in the program that called it. But yes, proper function calls would be a good thing I would like to have too, and it's a think we've talked about a lot.

Edit 1: Oh, and a special startup file that automatically gets ran when the kOS unit is loaded would be awesome, so I don't have to type "run blah." every time I reload or whatever.

This supposedly already exists. You're supposed to be able to name files starting with the word "boot" in the archive, and then they appear in the tweakables choices for the kOS part in the VAB. Whichever one you pick is supposed to run after the craft loads onto the lauchpad. I say "supposedly" because I haven't gotten it to work myself.

Also, not sure if you could make the current program's progress and variables save between save games.

Supposedly that already exists, but it doesn't seem to be very good at it.

I had more suggestions, but after writing this wall of text, I've forgotten most of them.. Ill edit or post again if I remember them.. And 4 am probably isn't the best time to be trying to remember things..

The problems you're running into are all related to an area that hasn't received much testing yet - multiple vessels running code at the same time. Only just recently has docking become possible at all, and docking was the thing we were waiting for before multi-vessel issues really came up. If you encounter more problems please report them on the github. The more reporting the better.

Link to comment
Share on other sites

It should be valid. Can you post an exact snippet of the code and the error message? If it's not working that's a problem.

Unfortunately I've already deleted that code, and I cant undo it because I've rebooted my PC.

Ill take a look into github for bug tracking. I've never really used it, only to download stuff.

Oh, and another request/suggestion (these don't go on github do they?), a position for parts. Id like to be able to adjust the throttle for individual engines via thrust limit based on their position relative to the center of mass to get more control.

Edited by Boodals
Link to comment
Share on other sites

For some reason, kOS does not open an editor window. I type in the following command: "EDIT HELLOWORLD." Absolutely bugger-all happens, except the terminal advances to the next line. Commands such as "CLEARSCREEN." do work, however. Not sure what's going on. I've followed the documentation as best as I can, but...

EDIT:

After further testing, I have found that the issue is not dependant on which kOS pod I use, nor is it a mod conflict. I have loaded the latest Curse release, followed by the latest (non-prerelease) item on GitHub. No change in behaviour. However, using version 12.2P3, I was able to open the editor window. I have not tested any versions in between.

Edited by 0111narwhalz
Updates on issue.
Link to comment
Share on other sites

Unfortunately I've already deleted that code, and I cant undo it because I've rebooted my PC.

Ill take a look into github for bug tracking. I've never really used it, only to download stuff.

Oh, and another request/suggestion (these don't go on github do they?), a position for parts. Id like to be able to adjust the throttle for individual engines via thrust limit based on their position relative to the center of mass to get more control.

I've heard this is being worked on by others - that any Part in the system should be able to give you its coordinates.

Link to comment
Share on other sites

For some reason, kOS does not open an editor window. I type in the following command: "EDIT HELLOWORLD." Absolutely bugger-all happens, except the terminal advances to the next line. Commands such as "CLEARSCREEN." do work, however. Not sure what's going on. I've followed the documentation as best as I can, but...

The problem is that while the main game code on github can migrate changes from pre-release branches into full-release later, the documentation system used, a thing called Middleman that I don't really understand, and was already being used before I started doing the documentation, is hardcoded to pick exact branch names for you, so you can't have separate development and master branches.

The effect this has is that I cannot edit the documentation in pre-release and then later just migrate it over to full release when a release happens. If I make edits, it's either (A) not there, or (B) there in public release. There is no in-between of "pre-release documentation exists but you have to switch branches to see it."

So what you're reading is effectively the pre-release documentation. Because it takes time to type it all in, it's not practical to wait until full release before I work on the docs. I have to get started on it ahead of time in preparation for a full release.

Much of what you see was written a few weeks ago under the assumption a full release was about to occur right then, but problems discovered last-minute made erendrake decide not to release after all, so for the last few weeks the documentation has been in this state where it's only correct for the pre-release.

This has happened enough now (people asking where is the editor because the docs claim it exists but don't mention it's a pre-release only feature) that I think I'm going to address this problem after the next full release in the following way:

Although Middleman refuses to let me pick my own branch names, I can simulate the idea of a branch by using a full github fork. So I just fork the entire documentation to a pre-release version and make the edits there, then pull them to the main one later upon release.

Link to comment
Share on other sites

Once more I was trying to make sense of directions. I want to steer my ship by raw controls, but first I need to figure out which way it's pointed. Anyway, after many tries along the lines of print facing#3 I had the bright idea of trying facing:pitch -- whoppee! Success!

Apart from the question why getting one's bearings has to be so complicated, it looks as if pitch & yaw are mixed up:

kos-woes2.png

Is it a good idea to dump those things in the forum? I'm a bit concerned that it might be buried&forgotten in no time. BTW, regardless of how I got the lab to be the root part: the issue with the other craft was that kOS gets all funny in the head once I "control from"another part.

Link to comment
Share on other sites

Once more I was trying to make sense of directions. I want to steer my ship by raw controls, but first I need to figure out which way it's pointed. Anyway, after many tries along the lines of print facing#3 I had the bright idea of trying facing:pitch -- whoppee! Success!

Apart from the question why getting one's bearings has to be so complicated, it looks as if pitch & yaw are mixed up:

http://ksp.schnobs.de/stuff/kos-woes2.png

Is it a good idea to dump those things in the forum? I'm a bit concerned that it might be buried&forgotten in no time. BTW, regardless of how I got the lab to be the root part: the issue with the other craft was that kOS gets all funny in the head once I "control from"another part.

The terms "pitch", "yaw", and "roll" are a massively misleading set of terms inherited from the underlying Unity system (which is a generic game engine that does not know it's going to be used for actual flight, so it uses those terms in a way that is inconsistent with the actual flight of the ship).

What they *should* be is Zrot, XRot, and YRot. They are Euler rotations around the native universe coordinates' x,y,z axes. The native xyz axes are not necessarily lined up with your ship's orientation at all.

To transform them into rotations around the ship's actual facing, start from a transformation that gets into ship-facing mode, and then add the other rotations from there, like so:


// say you want to pitch up by 20 degrees from where you are facing now:
set ship_relative_dir to R(0,0,0).
set ship_relative_dir:pitch to 20.

set wantdir to ship:facing + ship_relative_dir.

lock steering to wantdir.

(disclaimer: I haven't actually tested the above suggestion)

Be warned that if you LOCK STEERING TO SHIP:FACING + SHIP_RELATIVE_DIR directly without the intermediate 'wantdir' step you'll end up constantly resetting the desired direction to 20 degrees pitched from the current facing, as the facing changes, making the ship continually keep trying to change aim chasing its own tail.

Also, be careful about doing the rotations separately to force the order you want. For example if you want to both pitch up 20 and roll left 15, you should have two different rotations - one that is pitch only and one that is roll only, and chain them together like so:

set wantdir to ship:facing + pitchrot + rollrot.

The reason is that Unity's native rotation system is hardcoded to do it in a weird order you wouldn't expect. It tends to do the roll *first*, if you combine them all into one tuple.

Edited by Steven Mading
mistyped code tag
Link to comment
Share on other sites

Also, be careful about doing the rotations separately to force the order you want.

Actually, I want(ed) to look into raw controls. That makes it necessary for me to have an idea about where I am going.

The terms "pitch", "yaw", and "roll" are a massively misleading set of terms [...] What they *should* be is Zrot, XRot, and YRot. They are Euler rotations [...]

Do I really want to know? Seriously: do I need to understand this before I can even try to make any use of directions? Or can I just assume that pitch is yaw and yaw is pitch and not worry about what's really going on behind the scenes?

I can't think in any other terms but compass directions, I can't even start to imagine how I should use the internal coordinates. So I need to get my stuff in degrees relative to either) the celestial body or) prograde. Above, I used up:pitch - WantDir:pitch -- is this the only way, or at least a good method?

Link to comment
Share on other sites

So, I'm trying to setup an initial SSTO takeoff profile, and I can't get this code to work:


set ship_relative_dir to R(0,0,0).
set ship_relative_dir:pitch to 5.
declare wantdir.
set wantdir to ship:facing + ship_relative_dir.

LOCK STEERING to wantdir.

I keep getting the dreaded "Object not set" error at wantdir.

WTF am I doing wrong?

Link to comment
Share on other sites

So, I'm trying to setup an initial SSTO takeoff profile, and I can't get this code to work:


set ship_relative_dir to R(0,0,0).
set ship_relative_dir:pitch to 5.
declare wantdir.
set wantdir to ship:facing + ship_relative_dir.

LOCK STEERING to wantdir.

I keep getting the dreaded "Object not set" error at wantdir.

WTF am I doing wrong?

I would start out a bit more simple, to be honest. Without a specific reason for doing this it is overcomplicating stuff a bit.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...