diff --git a/js/src/main/scala/JSVycoder.scala b/js/src/main/scala/JSVycoder.scala index aadd617..0fa22ed 100644 --- a/js/src/main/scala/JSVycoder.scala +++ b/js/src/main/scala/JSVycoder.scala @@ -9,16 +9,17 @@ given Conversion[Int, BigDecimal] with @JSExportTopLevel("Vyncode") object JSVyncode: - var version: Int = 1 - val versions: Seq[Int] = Seq(1) + var version: Int = 2 + val versions: Seq[Int] = Seq(1, 2) var predictionObj: Predictions = Predictions() var initalised: Boolean = false @JSExport def setVersion(ver: Int): Unit = - if !versions.contains(ver) then throw new Exception("Invalid version") - version = ver - predictionObj.initalise(ver) + if ver == -1 then version = versions.max + else if !versions.contains(ver) then throw new Exception("Invalid version") + else version = ver + predictionObj.initalise(version) initalised = true @JSExport diff --git a/jvm/src/main/scala/CLI.scala b/jvm/src/main/scala/CLI.scala index a3993d7..ec3830c 100644 --- a/jvm/src/main/scala/CLI.scala +++ b/jvm/src/main/scala/CLI.scala @@ -5,7 +5,7 @@ object CLI: case Encode, Decode case class CLIConfig( method: Method = Method.Encode, - version: Int = 1, + version: Int = 2, input: Option[String] = None ) @@ -14,7 +14,7 @@ object CLI: import builder.* OParser.sequence( programName("Vyncoder"), - head("Vyncoder", "1.0"), + head("Vyncoder", "2.0"), opt[Unit]('h', "help") .action((_, cfg) => println("Vyncoder - A Vyxal encoder/decoder") diff --git a/shared/src/main/scala/data.scala b/shared/src/main/scala/data.scala index 6f21af9..d00c660 100644 --- a/shared/src/main/scala/data.scala +++ b/shared/src/main/scala/data.scala @@ -4,10 +4,9 @@ given Conversion[Int, BigInt] with def apply(i: Int): BigInt = BigInt(i) case class Data(): - def apply(): List[List[BigInt]] = getData() - def getData(): List[List[BigInt]] = - val data: String = - """50,48,139,1,174,51,42,44,2,91,135,49,57,45,215,92,124,52,221,52,42,92,124,43,215,44,92,124,49,57,45,92,124,43,44,92,124,49,57,221,92,124,43,215,44,44,93,53,143,233,135,52,45,135,100,43,94,124,32,32,94,109,135,43,34,109,1,234,42,116,44,59,110,53,148,40,51,50,92,124,49,53,221,45,109,51,47,175,44 + def apply(version: Int): List[List[BigInt]] = getData(version) + def getData(version: Int): List[List[BigInt]] = + val data: Seq[String] = Seq("""50,48,139,1,174,51,42,44,2,91,135,49,57,45,215,92,124,52,221,52,42,92,124,43,215,44,92,124,49,57,45,92,124,43,44,92,124,49,57,221,92,124,43,215,44,44,93,53,143,233,135,52,45,135,100,43,94,124,32,32,94,109,135,43,34,109,1,234,42,116,44,59,110,53,148,40,51,50,92,124,49,53,221,45,109,51,47,175,44 107,176,50,118,202,194,44,52,152,73,58,233,51,60,63,52,202,73,177,68,52,47,211,255,166,47,211,78,255,58,52,48,48,47,211,11,3,43,160,249,94,11,56,139,118,132,234,202,116,50,198,55,37,55,177,134,119,36,158,102,11,209,144,123,11,52,139,234,202,116,50,56,43,26,74,55,157,1,1,83,50,217,59,194,59,175,44 9,51,221,201,24,229,62,212,229,92,52,140,186,35,250,70,62,157,35,167,4,15,113,108,126,45,155,208,60,118,203,37,41,18,171,85,7,249,25,24,101,182,197,98,68,123,235,17,206,154,163,185,73,51,225,206,63,0,9,49,54,47,118,223,196,223,52,157,1,7,87,164,32,32,106,59,175,235,164,81,32,164,81,117,86 94,11,200,188,159,242,8,195,60,176,74,154,252,11,11,1,184,125,193,225,22,36,237,74,169,112,30,119,106,11,166,100,139,67,139,54,47,11,219,179,153,11,53,49,139,165,42,247,206,76,62,145,117,74,104,105,19,77,51,94,0,13,32,14,182,32,94,221,63,76,94,32,111,110,32,2,220,11,170,94,87,151 @@ -1421,10 +1420,1525 @@ case class Data(): 39,246,100,131,20,52,202,23,66,49,51,61 67,144,247,212,169,37,186,28,71,104,116,67 249,210,0,7,36,70,76,125,80,118,104,175 -103,45,31,233,5,41,20,118,28,197,197,66 -""" +103,45,31,233,5,41,20,118,28,197,197,66""", + """50,48,139,1,174,51,42,44,2,91,135,49,57,45,215,92,124,52,221,52,42,92,124,43,215,44,92,124,49,57,45,92,124,43,44,92,124,49,57,221,92,124,43,215,44,44,93,53,143,233,135,52,45,135,100,43,94,124,32,32,94,109,135,43,34,109,1,234,42,116,44,59,110,53,148,40,51,50,92,124,49,53,221,45,109,51,47,175,44 +52,42,58,8,221,44,40,207,52,42,110,45,132,92,47,221,110,100,131,92,92,221,43,44,41,207,56,42,131,134,45,63,40,215,92,124,55,221,207,42,92,124,43,215,92,124,58,50,221,50,45,19,109,199,207,42,36,43,215,11,149,11,164,32,124,139,207,42,92,124,43,44,44,44,41,44 +140,61,91,132,94,92,96,47,94,42,92,124,58,254,43,112,44,132,51,42,92,96,42,92,124,58,254,43,112,44,124,78,51,42,236,58,92,96,42,135,112,44,135,42,92,124,58,254,43,112,44,140,94,92,96,47,94,42,190,199,92,124,58,254,43,112,44 +131,135,42,92,124,43,44,40,206,110,177,92,47,221,110,100,131,92,92,221,43,44,41,8,206,100,131,45,8,43,58,44,206,100,40,92,124,164,32,111,206,42,135,92,124,43,43,43,44,41,44,164,32,47,92,96,206,100,132,42,92,92,43,43,44 +1,73,227,91,104,92,45,100,112,19,109,135,53,42,58,255,87,124,1,94,124,45,45,94,112,19,109,59,58,76,50,61,91,7,94,124,32,32,32,94,19,109,36,87,93,93,59,68,118,104,194,44,1,49,105,59,92,45,106,44,118,116,194,44 +164,40,41,54,42,49,53,18,73,151,92,46,49,193,17,7,36,164,124,92,112,36,94,124,58,92,92,94,112,34,52,51,18,73,49,54,152,55,26,197,157,118,151,164,92,58,109,118,112,164,92,96,109,74,74,92,124,118,74,74,49,50,217,175 +107,54,58,235,230,151,92,95,112,19,66,63,48,19,154,170,58,242,51,177,242,43,218,131,51,47,63,76,52,60,91,50,217,131,124,56,78,118,152,123,58,118,104,48,74,181,124,1,104,48,61,14,190,125,1,168,91,48,112,124,50,202,125,151 +40,206,110,177,135,42,110,100,235,92,96,42,43,44,206,110,177,236,135,42,206,110,177,167,91,92,111,124,206,132,110,61,91,134,124,135,93,93,164,47,44,110,100,92,96,42,164,44,92,206,110,177,167,91,124,92,111,43,93,87,151,44 +92,48,250,92,49,250,92,50,250,63,40,252,51,110,131,101,40,251,96,41,1,48,43,250,96,110,116,48,61,91,110,131,250,110,50,43,250,124,110,116,49,61,91,110,131,250,124,110,50,43,250,93,93,41,1,92,48,94,48,48 +135,42,92,96,63,42,100,43,44,40,110,45,132,135,42,92,47,110,63,43,135,42,100,43,43,92,92,43,44,41,40,110,135,42,92,92,63,100,132,110,45,110,131,63,61,91,92,96,124,135,93,42,100,43,43,92,47,43,44,41 +1,196,118,19,196,28,102,39,76,206,61,59,39,1,104,119,34,0,104,110,7,58,107,216,201,198,74,20,34,59,201,181,59,65,59,1,1,51,40,58,107,43,118,42,197,41,87,1,103,118,45,115,59,103,59,115,59,59,228,20 +107,47,214,51,42,235,92,96,42,107,47,43,44,131,40,110,94,92,32,92,92,94,221,214,110,177,100,43,110,206,61,94,32,96,94,36,105,42,214,94,47,32,47,94,44,41,131,92,92,221,214,235,92,96,42,92,47,43,44 +40,164,91,32,207,42,110,165,37,164,32,93,207,42,43,43,44,41,207,132,40,164,32,32,110,131,42,164,91,32,207,110,177,132,42,112,92,88,43,164,32,32,110,131,42,43,164,32,93,207,110,177,132,42,43,44 +53,60,91,26,124,194,182,49,107,17,100,206,76,244,74,51,74,118,145,115,59,116,197,31,50,131,58,233,94,101,38,97,94,102,74,234,58,92,38,34,234,9,99,98,124,9,34,194,87,147,105,59,93,102,194,214 +107,97,94,35,202,153,39,40,42,234,156,176,201,162,202,156,201,170,45,46,202,159,48,201,180,50,59,199,171,202,128,234,156,177,62,63,67,68,120,202,143,69,94,67,58,55,48,60,55,51,56,57,42,43,67,192 +49,46,42,40,92,118,42,44,41,17,40,110,45,92,118,42,214,110,58,100,43,92,62,42,44,41,17,17,25,40,17,92,118,42,63,84,92,62,42,74,110,100,92,62,42,74,58,250,44,41,252,40,251,44 +40,120,124,94,43,45,45,94,42,92,43,43,44,50,40,206,40,110,137,120,43,167,91,94,124,32,32,94,124,94,124,35,35,94,93,214,41,92,124,44,41,41,94,43,45,45,94,42,92,43,43,44 +40,92,92,110,131,217,206,218,92,124,92,47,110,131,218,206,217,198,44,41,92,79,45,63,45,44,40,92,47,110,131,218,206,217,92,124,92,92,110,131,217,206,218,198,44,41 +40,156,126,99,91,16,229,246,197,78,102,38,131,124,112,59,140,58,40,156,16,58,147,116,20,104,58,141,209,118,16,28,102,147,197,74,102,41,87,179,234,91,100,234,43,78 +140,68,107,47,135,112,42,135,43,250,92,47,119,36,132,158,102,92,79,112,92,79,74,194,135,135,100,86,250,107,92,135,112,42,250,252,63,48,60,14,28,84,118,151,175 +199,0,38,131,94,100,116,83,90,94,36,99,2,234,42,59,186,50,108,58,104,104,112,39,27,107,118,92,64,74,36,118,99,151,211,49,61,59,116,102,151,189,118,104,151 +169,20,1,206,107,65,102,110,118,118,86,170,207,20,36,118,90,39,1,7,77,1,7,177,110,104,61,59,65,59,65,59,118,118,104,59,28,102,85,118,194,164,59,32,106 +102,94,58,39,46,32,94,102,248,127,98,50,157,192,50,157,28,84,7,147,254,156,36,254,112,255,74,87,28,84,248,127,98,50,157,94,58,39,46,32,94,102,192,179 +235,1,107,95,36,99,3,59,151,51,47,92,48,28,188,151,51,47,56,78,118,152,231,92,48,51,42,58,233,19,108,58,76,50,130,202,234,112,234,112,50,78,152,231 +245,82,246,39,116,142,59,118,104,246,39,116,142,2,59,118,104,247,39,116,142,59,1,7,36,119,158,59,102,87,164,237,6,63,116,145,105,36,115,185,36,15,87,175 +28,30,75,1,1,28,30,75,36,131,101,187,198,50,108,247,173,118,188,181,99,42,110,178,42,63,18,76,110,101,36,47,59,179,59,50,108,247,173,118,188,181,99,131 +107,45,11,62,120,87,1,111,52,19,170,61,11,98,55,157,58,63,104,105,78,36,50,158,253,118,231,118,118,228,45,63,83,50,108,211,191,74,102,118,79 +22,1,162,163,110,233,234,76,24,40,120,124,110,2,165,114,40,234,67,67,137,120,32,110,83,193,151,73,74,41,41,59,147,104,201,39,179,107,50,61 +52,139,107,215,116,58,254,74,112,102,68,1,133,94,124,32,94,36,105,59,194,44,1,92,124,59,194,44,1,17,211,94,32,124,94,36,105,59,194,44 +107,66,135,92,96,57,26,151,198,20,210,58,233,1,104,236,250,234,1,104,236,59,251,145,234,36,105,61,91,124,134,59,59,39,59,135,118,112,179,199 +1,233,107,13,1,234,118,61,59,58,118,97,84,104,68,233,26,48,112,179,52,47,209,105,84,104,43,234,34,59,7,18,100,49,57,46,48,53,42 +49,78,136,96,97,94,92,100,43,94,63,0,137,96,97,49,43,136,96,97,94,92,100,43,94,63,202,211,115,137,96,97,32,105,83,59,19,154 +197,144,197,1,116,94,92,124,47,94,94,124,47,96,94,192,110,104,36,221,59,58,1,94,95,32,42,94,36,101,116,59,103,233,1,234,152 +36,153,190,1,58,0,204,42,146,148,59,82,58,207,7,36,132,36,34,36,148,58,208,43,17,36,42,7,45,36,76,117,36,101,42,59,179 +49,55,161,58,233,132,51,52,234,100,45,161,58,136,43,234,84,49,55,43,137,45,51,52,234,100,43,161,100,45,161,100,43,49,54,47,83 +76,25,1,63,102,110,152,151,58,104,211,91,211,124,51,93,18,208,136,63,102,202,151,58,104,211,91,211,124,51,93,18,208,137,3,59,97 +235,92,96,42,92,124,63,221,239,63,56,42,186,92,96,188,92,92,63,131,221,180,197,49,246,92,45,188,31,77,7,96,92,118,87,19,153 +58,1,94,83,76,94,162,165,124,49,49,49,48,163,192,92,48,54,177,74,151,28,142,54,48,208,202,118,211,59,179,36,76,24,31,86,79 +94,4,128,32,84,117,229,252,37,32,123,1,186,32,14,167,32,37,59,125,94,166,1,26,92,96,36,43,92,44,106,34,59,118,37,175 +40,53,206,42,134,45,44,94,41,61,61,61,41,94,206,42,58,44,94,40,61,61,61,40,94,206,42,44,44,41,53,42,134,45,44 +1,107,100,110,49,45,118,42,57,24,201,39,228,99,2,59,57,24,201,1,102,7,36,193,59,85,39,211,61,36,211,23,3,59,104 +135,214,45,48,129,94,92,124,47,94,202,44,40,92,40,214,207,110,45,62,92,41,45,50,217,51,207,43,110,43,206,60,45,44 +197,34,118,28,68,1,104,179,59,63,63,19,84,74,118,179,36,77,1,102,181,59,97,63,102,68,85,226,36,18,208,65,87,253 +1,48,16,121,34,28,84,58,233,206,40,234,74,41,196,1,75,1,28,84,1,151,59,181,59,97,59,97,59,92,46,112 +92,124,61,58,231,48,118,16,28,102,222,36,50,108,1,28,155,228,60,84,131,59,102,50,157,118,228,155,34,118,118,76 +104,161,100,233,48,252,183,0,195,184,28,13,45,234,47,74,59,82,73,7,63,167,74,15,95,234,74,58,211,61,74,65 +165,102,11,35,116,199,191,216,11,171,139,24,11,168,178,115,217,246,129,11,248,47,139,43,74,102,49,56,118,143,131,105 +159,197,92,92,36,221,19,109,249,58,73,239,102,76,58,233,78,118,152,36,90,234,63,104,76,235,92,96,42,221,112,175 +107,166,119,247,1,233,63,28,84,131,39,234,177,179,151,125,28,102,85,20,132,118,28,244,179,58,102,71,177,131,42,132 +50,40,135,118,19,46,231,41,231,135,28,73,107,216,34,0,104,110,7,58,107,216,201,198,74,20,34,59,201,7,70,223 +73,46,100,73,58,250,107,70,42,8,117,250,187,46,83,199,190,52,50,102,7,205,43,42,253,252,74,179,67,19,154 +210,68,164,0,0,28,73,102,36,76,132,111,58,131,70,222,0,92,40,112,59,86,194,58,92,40,79,92,41,42,74 +92,43,51,45,52,42,92,124,63,98,49,54,18,90,92,35,42,50,217,25,43,52,157,198,118,34,102,239,118,239,175 +49,58,123,131,195,63,224,124,58,0,178,208,110,26,208,47,77,179,58,110,178,208,146,47,59,15,95,96,125,195 +40,92,124,110,42,92,43,43,206,110,45,45,19,109,44,41,92,124,42,135,43,19,109,174,43,206,100,131,45,44 +40,164,43,111,110,2,105,58,206,45,112,44,206,40,92,124,58,206,221,112,44,41,41,92,111,58,206,45,112,44 +0,189,118,76,38,131,68,1,50,62,59,65,36,190,3,91,120,124,117,233,93,59,15,104,50,61,91,234,124,117 +40,110,168,91,207,92,96,42,44,124,55,92,124,221,207,42,206,244,244,110,51,148,133,91,52,244,93,207,202,44 +58,67,204,115,76,58,132,233,37,197,40,58,234,110,34,191,110,234,34,36,90,7,136,7,183,137,7,183,38,132 +11,177,234,11,169,139,50,63,11,19,228,181,11,172,139,158,193,102,94,124,95,47,92,46,94,139,92,96,43,176 +135,214,100,92,96,42,44,92,47,214,100,92,92,221,44,131,40,110,92,92,221,214,110,177,100,92,47,221,44 +7,24,223,36,49,57,114,223,34,58,179,206,36,45,58,233,52,148,119,51,158,102,58,179,234,36,45,87,102 +123,124,110,7,233,36,13,210,40,234,15,250,41,252,110,104,138,58,110,199,116,62,110,104,40,251,96,41,125 +207,135,9,69,162,98,63,54,184,9,206,208,18,139,54,148,83,132,94,186,194,97,32,6,180,46,94,87,151 +1,107,65,102,55,202,50,243,58,51,202,92,39,118,74,74,110,18,105,105,110,18,105,131,18,144,52,47,34 +83,236,51,157,51,218,179,107,54,239,126,118,145,191,179,51,47,4,56,78,152,72,72,50,18,90,50,202,214 +160,196,39,233,76,26,147,156,36,4,131,34,234,118,145,228,62,164,114,108,105,59,112,74,110,132,191,63,227 +135,92,35,51,42,43,50,47,50,40,1,19,109,59,19,109,41,1,1,63,42,59,151,59,1,63,40,44 +210,39,236,147,104,92,104,226,36,104,92,115,61,3,59,58,27,58,118,145,85,191,170,54,62,55,42,202 +100,132,26,45,58,160,43,58,233,204,160,76,28,201,39,234,31,233,118,34,28,102,28,117,59,245,71,130 +54,26,233,4,17,52,25,61,248,215,42,57,43,4,234,196,105,233,59,234,104,59,49,112,151,50,19,3 +40,0,150,110,18,150,119,102,150,110,68,118,79,28,77,191,150,110,204,71,103,45,87,87,59,15,41,150 +94,47,92,92,94,42,44,26,197,1,92,47,42,102,194,59,58,1,92,92,112,59,36,89,199,175,44 +156,36,58,91,94,0,2,32,94,112,74,58,190,168,91,7,135,36,198,124,164,44,32,106,93,124,96 +156,47,1,92,58,47,1,22,1,92,45,47,107,181,13,211,7,155,59,102,59,7,201,59,102,50,157 +235,28,216,0,7,78,95,131,87,68,197,208,43,95,179,49,60,105,59,28,90,28,143,73,82,102,105 +107,206,107,118,34,58,26,74,74,228,42,164,14,43,107,206,235,49,193,36,246,164,101,105,106,19,154 +54,27,123,58,76,63,60,124,58,50,42,36,58,51,42,36,58,53,42,230,230,230,125,115,63,202 +107,139,132,56,54,52,48,48,42,107,190,51,54,48,48,42,43,107,193,54,48,42,43,107,198,43 +196,118,19,196,28,102,39,76,206,61,59,39,198,181,59,118,104,1,205,76,253,119,74,59,128,199 +50,108,1,179,110,51,118,143,231,118,228,45,118,151,118,5,17,112,59,102,126,31,61,211,85,227 +166,208,17,1,63,56,34,180,50,51,102,47,131,186,107,70,17,42,179,110,63,139,36,5,59,175 +1,55,56,102,77,1,7,205,241,79,179,59,59,231,7,131,117,254,180,101,42,180,195,37,48,112 +9,1,172,236,235,27,2,202,166,53,247,42,220,241,194,241,122,33,9,118,145,52,148,51,45,179 +53,26,43,171,43,50,52,37,36,83,43,94,129,133,172,131,15,249,29,215,213,127,94,53,47,89 +18,98,56,18,90,50,157,118,231,118,118,66,118,194,94,80,50,32,56,32,56,32,51,94,112,175 +165,40,164,82,68,53,42,1,164,43,45,223,100,43,59,92,85,164,85,39,34,223,74,194,44 +76,194,118,196,245,74,148,85,1,118,26,58,63,102,36,13,59,39,1,184,226,59,65,59,76 +50,52,25,54,48,25,201,1,1,83,50,217,135,48,86,59,92,58,106,59,58,63,145,131,105 +25,63,40,170,132,205,223,223,126,191,150,233,40,110,234,183,41,41,58,204,205,71,103,150,87 +123,58,28,198,2,124,7,95,33,40,126,60,14,36,255,41,254,36,255,95,87,38,131,125,234 +58,213,43,25,58,213,15,118,244,100,36,25,58,118,43,133,43,50,40,197,19,109,28,84 +165,26,190,9,3,57,167,9,102,74,9,2,163,67,9,201,118,151,164,106,106,102,74,26 +94,92,124,124,94,30,42,94,32,95,32,47,94,112,94,47,32,118,94,74,194,53,157,175 +118,104,39,184,34,1,233,207,39,104,234,227,59,104,116,59,115,206,115,227,59,118,115,85 +153,39,76,131,58,69,132,34,63,20,132,110,179,145,26,59,1,179,74,69,110,213,45,253 +48,49,63,149,2,5,58,22,34,165,42,210,94,240,159,148,181,226,154,170,94,17,42,179 +76,50,36,34,105,69,165,42,94,45,65,86,105,117,125,94,67,52,52,43,62,179,131 +233,94,71,67,77,94,1,234,42,63,40,58,44,41,59,92,71,63,42,63,40,58,44 +165,37,58,52,60,63,165,148,142,3,42,52,9,5,180,191,107,161,9,47,36,105,43 +91,45,132,92,124,42,214,43,92,47,42,44,124,45,92,92,42,214,43,92,124,42,44 +0,68,136,97,63,43,58,233,155,1,234,146,110,137,97,146,43,50,62,59,65,59,151 +157,68,58,76,17,58,233,210,202,118,115,250,96,234,210,152,118,115,118,197,250,252,102 +40,135,112,239,51,108,1,67,7,209,221,220,58,172,236,62,91,51,50,93,59,67,179 +107,40,20,107,40,19,111,91,116,107,100,92,40,43,36,99,107,40,36,105,124,92,40 +50,40,210,1,1,58,8,99,91,174,49,86,93,59,194,59,231,118,151,41,179,174,20 +107,65,52,202,107,95,190,199,92,68,111,201,94,49,70,48,94,118,112,72,67,28,223 +107,97,9,1,71,173,165,50,244,118,152,70,213,26,70,41,237,114,84,9,192,197,227 +40,1,104,47,59,147,254,68,34,254,45,255,119,74,1,243,58,104,213,42,93,1,243 +68,48,74,31,112,177,245,151,143,13,1,76,206,225,91,205,104,116,92,45,89,125,102 +190,199,22,58,104,211,206,104,92,40,61,43,95,116,211,206,116,92,41,61,45,155 +48,250,51,63,40,58,17,211,252,36,145,117,61,91,17,211,124,51,42,93,58,250 +199,1,234,110,221,206,76,132,218,36,43,38,131,59,36,74,118,19,109,19,109,175 +91,206,40,8,206,42,44,41,124,207,1,8,42,207,217,19,109,59,206,14,197,175 +104,107,100,99,2,58,91,107,114,92,96,43,63,70,2,63,104,92,96,61,14,17 +26,58,118,26,90,1,7,118,34,59,102,50,157,39,208,179,206,208,61,59,118,74 +237,4,40,104,110,92,43,43,82,110,158,58,58,119,115,61,14,250,41,252,179,116 +97,58,91,0,63,160,68,131,118,43,36,201,118,228,148,20,198,133,63,99,59,194 +50,16,7,197,78,34,1,160,42,235,235,131,59,7,197,195,76,43,63,76,112,74 +19,65,132,117,48,50,53,34,74,94,48,48,154,176,109,94,50,157,192,92,58,106 +9,96,115,97,125,93,133,9,235,61,94,43,51,48,32,23,176,92,55,94,42 +76,100,40,110,206,110,206,76,100,177,119,105,221,206,76,110,45,221,19,109,44 +172,69,40,110,107,54,139,170,51,50,177,92,48,42,112,52,157,92,58,106,44 +94,1,175,196,232,32,67,114,222,30,32,1,16,33,94,107,104,92,33,43,137 +179,85,196,39,136,63,182,137,58,168,91,110,76,124,138,93,59,63,227,59,104 +49,94,73,36,117,63,91,78,93,43,112,94,73,36,117,63,91,78,93,43,112 +118,18,70,92,105,42,231,118,194,197,19,27,118,109,246,92,96,188,117,86,175 +1,94,46,48,42,94,202,211,19,197,151,19,197,59,179,19,197,118,19,197,151 +94,40,63,58,39,16,63,39,41,43,94,202,1,190,199,164,39,39,92,39,86 +132,34,1,100,114,164,97,32,42,30,19,185,175,59,7,237,40,110,48,19,188 +52,186,50,34,63,51,225,105,63,63,63,50,51,42,57,148,87,228,45,55,37 +25,50,221,179,51,55,52,102,63,118,76,122,52,106,19,95,249,118,19,82,175 +28,110,58,201,0,206,231,89,197,7,42,43,45,213,204,65,179,2,3,59,99 +118,102,48,28,199,28,75,1,75,1,231,28,117,59,59,231,49,28,145,197,180 +28,112,234,40,31,167,131,23,59,41,145,131,38,131,41,245,23,36,149,76,132 +48,36,40,92,59,110,61,14,131,92,35,110,61,91,172,132,37,67,214,48 +76,40,68,76,132,110,45,135,36,42,43,109,135,110,42,36,43,44,49,243 +52,26,1,83,53,42,102,118,73,59,63,74,102,9,6,17,206,9,42,194 +94,200,166,207,107,190,94,58,3,0,102,235,92,35,212,147,22,228,160,49 +36,40,110,91,234,217,233,207,124,132,93,58,8,42,207,217,234,14,197,44 +40,0,252,204,246,212,140,116,110,177,99,252,110,99,5,2,59,151,215,250 +58,238,39,206,108,59,1,206,90,1,181,59,97,14,110,59,126,141,104,145 +158,151,44,236,40,76,206,132,42,36,83,218,214,44,41,142,91,158,151,44 +216,4,189,118,151,147,36,214,58,199,92,64,188,36,134,112,116,74,151,44 +26,58,118,42,36,139,107,100,107,65,74,191,151,58,102,28,71,76,217,175 +94,84,73,45,94,63,52,54,102,105,74,63,54,105,8,226,92,43,42,74 +52,40,231,197,239,244,41,51,118,108,51,108,1,231,198,67,118,150,154,67 +187,252,36,40,110,42,58,126,31,61,140,103,70,48,74,132,110,47,41,76 +229,0,90,229,0,7,110,102,199,103,131,42,34,59,118,116,59,102,71,208 +0,49,62,91,18,239,147,118,120,204,5,3,14,117,131,58,65,3,93,132 +49,54,40,104,164,232,193,235,36,45,94,32,39,50,94,201,223,31,215 +123,225,124,51,25,1,18,197,100,22,59,58,208,179,161,58,49,125,47 +48,112,92,58,16,211,90,7,7,58,233,225,74,179,50,52,37,234,34 +164,1,175,94,19,19,44,32,8,149,32,220,187,33,94,34,194,50,13 +1,63,61,84,184,90,59,85,28,102,182,104,59,118,116,63,197,36,191 +28,70,51,108,40,58,110,164,43,61,89,179,221,44,110,104,76,131,43 +207,160,98,58,231,76,18,90,192,102,56,157,82,56,18,90,82,118,66 +50,48,166,155,182,206,36,47,58,49,37,36,133,49,61,43,179,59,104 +179,8,50,52,54,48,19,95,249,118,158,1,231,198,59,102,19,185,175 +164,32,35,51,63,132,101,25,51,139,133,118,66,58,118,219,15,191,175 +159,153,39,63,159,232,63,36,191,204,28,83,212,190,99,59,28,103,76 +31,50,36,58,78,114,190,43,206,110,116,105,118,34,59,28,102,28,117 +49,165,63,40,126,112,41,121,78,89,100,28,82,56,37,50,8,19,3 +131,34,1,140,132,42,91,17,205,211,210,85,118,120,179,59,7,140,34 +142,91,171,40,110,206,101,187,250,41,252,179,19,143,55,202,124,92,30 +1,107,45,58,100,201,58,82,74,36,67,118,43,67,59,28,102,18,77 +140,166,63,131,40,45,17,58,140,126,43,95,45,28,114,41,96,45,179 +57,92,42,221,165,40,44,57,110,45,92,48,110,131,42,221,19,109 +11,23,166,115,225,11,169,139,63,50,56,219,105,63,57,54,219,43 +94,78,66,77,94,75,197,40,110,47,170,132,110,43,31,215,96,179 +190,48,74,181,63,212,140,58,49,57,231,232,2,63,184,227,87,97 +0,131,206,24,110,28,201,1,160,131,101,179,59,63,99,59,151,131 +204,247,107,43,105,69,205,104,116,164,40,93,102,61,43,7,114,253 +100,8,42,165,218,8,112,49,52,101,58,34,8,49,50,42,112,30 +160,196,182,233,206,1,234,36,118,145,59,28,47,52,37,179,59,104 +1,48,99,49,50,42,110,76,43,59,58,50,54,99,91,50,54,221 +131,17,26,253,118,103,58,71,36,151,47,118,102,211,118,30,30,191 +67,133,1,189,118,180,1,197,61,42,59,102,59,179,121,96,17,210 +9,5,0,135,9,102,118,79,58,11,84,77,11,169,139,28,13,74 +26,63,92,118,100,112,187,58,118,118,83,36,102,71,76,218,198,175 +39,233,63,1,48,36,98,40,100,110,234,42,221,41,63,61,59,97 +26,20,1,160,31,86,243,58,82,74,103,59,85,118,189,118,76,79 +50,108,198,41,20,135,100,118,106,58,159,36,221,175,135,57,67,86 +196,39,212,213,58,107,43,36,13,227,59,58,63,99,91,96,124,223 +52,40,58,245,148,28,67,7,45,36,231,82,41,96,87,28,77,104 +24,238,1,19,197,107,197,118,145,11,19,199,75,11,102,118,105,179 +123 +89 +189 +232 +24 +30 +181 +213 +213 +23 +178 +241 +48 +55 +240 +240 +48 +26 +123 +133 +165 +214 +49 +180 +123 +132 +148 +235 +15 +109 +153 +23 +235 +22 +78 +157 +139 +186 +86 +8 +194 +201 +178 +253 +187 +197 +116 +113 +105 +15 +98 +13 +15 +244 +102 +50 +1,222,59,53,157,82,118,66,107,65,107,100,43,36,191,151,43 +171,50,53,40,131,68,58,67,36,67,254,131,67,43,36,43,44 +233,190,199,197,1,92,97,61,91,38,104,124,38,190,93,59,234 +94,45,47,111,94,102,36,118,79,147,36,17,112,48,112,197,212 +0,63,43,204,155,34,201,118,146,50,157,132,118,179,253,59,151 +11,209,144,123,11,52,139,50,56,43,180,48,112,63,132,105,43 +67,245,221,82,58,233,56,48,62,91,234,166,45,213,78,124,48 +30,39,233,26,51,143,39,243,42,179,234,61,59,141,59,63,105 +67,151,98,170,133,91,48,74,93,66,94,65,67,71,84,94,139 +208,194,39,190,168,59,39,18,208,65,59,58,91,161,211,118,74 +26,92,124,42,92,92,63,26,221,36,89,118,19,77,19,185,176 +52,26,225,118,83,52,26,100,131,42,174,43,52,42,175,249,176 +118,84,58,159,177,102,71,233,31,50,243,234,244,234,100,131,202 +228,47,28,30,42,211,131,28,30,47,39,206,228,47,60,59,104 +160,90,19,100,196,1,189,118,76,50,108,118,228,62,65,59,71 +11,126,113,244,58,154,175,11,171,139,180,173,43,98,58,82,74 +67,54,43,31,112,101,49,49,37,151,175,51,108,248,20,83,79 +118,76,249,24,253,1,63,34,1,253,74,194,58,118,145,59,181 +24,144,198,58,201,39,229,20,222,110,70,59,63,147,76,226,5 +115,19,196,39,76,206,61,59,246,1,150,45,208,150,59,179,130 +118,151,7,58,76,100,49,36,40,118,111,28,155,147,255,41,168 +179,167,63,115,156,36,179,224,63,179,17,63,76,132,225,87,65 +126,181,231,104,57,70,53,63,54,61,43,157,151,54,18,90,175 +107,68 +189,116 +9,47 +105,49 +1,197 +182,2 +19,101 +109,63 +28,70 +107,72 +18,29 +118,79 +165,26 +235,78 +2,43 +107,104 +121,43 +107,97 +196,85 +167,148 +211,61 +140,76 +121,61 +187,101 +26,13 +50,13 +18,208 +139,76 +178,131 +123,44 +18,100 +40,113 +71,43 +184,43 +77,84 +188,202 +107,72 +228,230 +107,106 +74,42 +40,158 +98,179 +18,192 +76,73 +44,190 +50,241 +197,220 +182,167 +35,231 +70,2 +28,117 +239,253 +178,239 +18,142 +158,253 +132,219 +28,232 +28,216 +153,99 +40,180 +197,42 +229,5 +75,253 +75,76 +17,104 +67,179 +98,76 +28,71 +180,179 +28,195 +48,80 +36,79 +18,187 +121,179 +48,99 +57,223 +45,213 +50,143 +160,232 +18,196 +107,72 +245,2 +245,13 +245,15 +245,16 +245,17 +245,20 +245,21 +245,22 +245,23 +245,24 +245,25 +245,26 +245,27 +245,28 +245,29 +245,30 +245,33 +245,34 +245,37 +245,40 +245,41 +245,42 +245,43 +245,44 +245,45 +245,47 +245,58 +245,60 +245,61 +245,62 +245,64 +245,65 +245,66 +245,67 +245,68 +245,69 +245,70 +245,71 +245,72 +245,73 +245,74 +245,75 +245,76 +245,77 +245,78 +245,79 +245,80 +245,81 +245,82 +245,83 +245,84 +245,85 +245,86 +245,87 +245,88 +245,89 +245,90 +245,97 +245,98 +245,99 +245,100 +245,101 +245,102 +245,103 +245,104 +245,105 +245,106 +245,107 +245,108 +245,109 +245,110 +245,111 +245,112 +245,113 +245,114 +245,115 +245,116 +245,117 +245,118 +245,119 +245,120 +245,121 +245,122 +245,127 +245,128 +245,129 +245,130 +245,131 +245,132 +245,133 +245,138 +245,139 +245,140 +245,141 +245,142 +245,143 +245,144 +245,145 +245,146 +245,147 +245,148 +245,149 +245,150 +245,151 +245,152 +245,153 +245,154 +245,155 +245,156 +245,157 +245,158 +245,159 +245,160 +245,161 +245,167 +245,168 +245,170 +245,174 +245,175 +245,176 +245,177 +245,178 +245,179 +245,180 +245,181 +245,183 +245,184 +245,185 +245,186 +245,187 +245,188 +245,189 +245,190 +245,191 +245,192 +245,193 +245,194 +245,195 +245,196 +245,197 +245,198 +245,199 +245,200 +245,201 +245,202 +245,203 +245,208 +245,209 +245,210 +245,211 +245,212 +245,213 +245,214 +245,215 +245,216 +245,217 +245,218 +245,219 +245,220 +245,221 +245,222 +245,223 +245,224 +245,225 +245,226 +245,227 +245,230 +245,231 +245,232 +245,233 +245,234 +245,235 +245,236 +245,237 +245,238 +245,239 +245,240 +245,241 +245,242 +245,243 +245,244 +245,249 +245,250 +245,251 +245,252 +245,253 +245,254 +245,255 +28,83 +28,117 +28,8 +110,36 +36,101 +92,104,74,181,91,92,104,20,76,107,104,42,124,9,3,217 +8,61,91,107,104,124,116,135,61,91,107,8,24,223,124,123 +0,56,56,111,107,50,132,111,56,57,107,50,236,86,59,201 +164,47,92,53,42,115,54,40,52,40,58,54,42,44,41,197 +1,92,47,61,38,45,135,234,42,110,43,44,67,167,38,43 +24,238,58,233,36,118,241,234,90,1,7,119,36,158,59,102 +165,139,1,234,167,14,100,38,131,165,139,179,59,179,165,186 +49,112,45,199,118,2,151,92,49,54,42,58,48,43,36,86 +76,58,233,40,38,132,234,92,47,221,44,41,216,190,175,44 +92,49,54,42,58,48,43,86,49,36,40,110,27,14,2,215 +25,63,208,131,20,39,204,190,199,90,58,85,227,59,116,151 +94,92,94,92,92,118,92,145,54,92,138,94,118,145,54,138 +67,58,17,131,168,91,161,210,167,14,197,175,124,168,14,197 +94,92,100,33,43,94,49,19,154,92,33,92,2,86,197,187 +164,40,41,36,118,79,181,57,24,92,41,74,63,116,99,5 +164,26,133,9,87,224,184,253,244,9,17,240,223,34,194,214 +51,28,201,39,179,63,71,61,59,182,204,71,103,45,59,104 +165,202,58,118,221,58,233,118,118,246,234,221,63,132,42,131 +1,180,28,244,59,179,180,190,58,71,47,42,210,8,42,175 +27,165,152,39,27,131,187,101,58,211,61,97,110,184,61,3 +123,40,1,245,246,247,0,64,18,187,15,69,39,182,19,28 +98,56,18,90,102,206,76,98,76,157,118,66,222,132,191,179 +53,108,4,115,190,199,150,59,103,58,18,139,211,51,43,188 +19,149,67,51,50,45,228,42,57,53,37,51,50,43,67,151 +48,119,63,40,58,107,181,36,118,14,34,49,87,102,41,202 +56,28,216,131,48,106,58,118,42,94,32,16,120,82,94,191 +76,107,13,7,89,36,197,112,42,63,164,16,63,106,202,104 +40,33,151,164,43,42,164,49,50,34,105,110,67,179,105,187 +118,108,118,198,0,189,126,13,118,65,220,102,59,82,65,2 +196,118,19,196,28,102,39,198,63,71,61,65,59,104,28,155 +121,49,243,45,58,18,150,45,58,78,49,244,89,48,118,129 +76,135,42 +8,42,208 +11,7,231 +185,128,104 +67,43,67 +18,81,78 +121,197,89 +39,184,61 +18,75,60 +90,118,71 +18,75,61 +75,190,168 +107,100,232 +28,33,99 +205,148,37 +245,253,20 +77,36,82 +25,178,187 +107,66,133 +18,197,187 +40,212,78 +51,101,232 +91,123,214 +26,187,179 +48,112,43 +107,122,197 +75,252,112 +98,179,167 +47,210,42 +165,26,42 +107,122,116 +18,197,108 +27,37,179 +118,179,212 +210,197,194 +100,104,45 +121,197,74 +123,131,215 +121,82,89 +173,139,67 +115,109,121 +245,179,201 +51,13,121 +26,151,179 +2,91,49 +67,133,151 +183,207,111 +121,50,13 +119,82,104 +160,236,191 +92,73,73 +179,100,186 +94,191,121 +107,97,121 +67,150,67 +244,151,211 +19,197,76 +50,161,148 +166,26,175 +182,53,105 +65,179,133 +197,36,192 +240,190,168 +19,67,199 +26,180,99 +197,61,197 +197,61,104 +24,69,219 +236,28,235 +100,36,29 +196,211,150 +98,197,66 +189,190,76 +119,74,179 +98,190,66 +26,208,179 +180,61,42 +102,186,103 +102,222,253 +78,34,105 +34,211,181 +36,40,119 +50,45,49 +36,13,211 +212,222,76 +160,118,243 +40,243,215 +92,49,42 +121,34,102 +26,26,82 +170,91,76 +28,30,75 +50,74,181 +51,18,142 +26,18,192 +26,1,110,83,58,73,42,102,118,73,206,26,110,152,74 +98,1,151,83,55,217,118,142,15,59,102,212,140,49,112 +0,107,184,50,157,107,60,74,40,110,111,41,59,201,2 +0,102,22,197,75,198,205,116,103,49,61,65,59,152,116 +102,58,24,189,13,1,147,118,236,36,235,112,59,102,179 +49,119,63,40,58,212,179,112,180,41,212,212,179,49,4 +63,48,227,63,48,227,5,63,63,227,5,63,63,129,42 +172,1,206,43,172,37,67,59,85,39,107,66,194,20,227 +92,105,111,67,31,112,0,221,179,56,37,55,37,59,97 +48,0,63,177,102,49,62,97,59,205,62,60,245,140,130 +196,28,30,1,205,168,170,84,5,59,28,83,36,20,104 +71,26,246,63,99,186,1,190,91,104,63,99,3,59,102 +144,50,143,1,231,7,197,207,209,183,59,246,206,221,130 +155,39,11,1,230,38,11,70,83,164,54,57,42,197,61 +0,49,62,91,132,120,126,146,58,142,91,148,124,43,43 +204,18,112,208,63,58,26,18,102,246,63,177,130,87,150 +204,26,208,131,20,39,50,108,63,58,201,232,2,59,104 +51,152,94,72,105,253,44,32,73,39,109,32,214,149,33 +204,76,71,26,20,39,159,68,131,219,155,191,198,63,227 +107,216,201,198,63,70,118,31,86,177,1,198,103,59,71 +164,78,120,42,92,61,47,228,18,113,104,46,49,43,154 +155,1,49,79 +51,42,180,168 +48,123,105,215 +82,7,146,197 +246,240,151,201 +18,75,132,148 +107,5,36,70 +134,92,33,86 +101,98,76,132 +61,189,198,71 +189,118,76,71 +58,73,44,235 +132,40,206,101 +25,43,179,131 +92,46,16,116 +91,123,49,214 +129,58,133,131 +40,58,214,197 +77,1,7,15 +8,221,82,176 +237,65,184,227 +237,236,184,61 +253,63,146,47 +67,7,221,67 +82,28,84,82 +1,208,161,197 +189,118,180,102 +123,92,65,214 +98,131,51,138 +73,7,197,43 +26,58,101,253 +50,157,82,102 +116,36,101,116 +210,1,65,179 +107,52,39,23 +160,26,28,150 +75,1,116,79 +108,118,71,103 +85,58,160,227 +107,97,196,151 +98,49,79,167 +132,57,37,131 +1,101,59,253 +28,70,202,253 +158,231,118,103 +160,45,28,117 +196,39,212,65 +98,244,244,66 +178,98,49,79 +98,197,66,208 +240,49,220,253 +43,155,228,45 +98,17,46,138 +107,103,47,154 +28,70,145,131 +8,51,19,95 +107,76,70,76 +89,73,198,181 +37,131,42,132 +252,63,40,153 +1,147,36,89 +73,7,60,103 +28,70,99,101 +165,165,8,149 +178,15,34,23 +165,78,139,151 +245,76,16,42 +196,39,197,61 +159,249,42,179 +107,54,184,192 +179,17,60,65 +118,45,28,186 +26,197,188,253 +118,145,28,198 +31,233,158,102 +107,148,208,132 +85,28,232,104 +1,132,112,211 +98,185,127,104 +212,107,166,227 +182,98,179,22 +132,166,148,131 +26,184,89,151 +1,158,59,102 +85,28,232,85 +48,155,151,76 +212,118,151,65 +48,200,82,151 +51,40,76,112 +131,40,87,58 +18,240,115,197 +50,78,139,179 +28,155,18,77 +245,167,186,104 +126,133,132,179 +187,22,253,47 +0,253,118,120 +114,190,39,23 +63,70,41,151 +208,179,161,47 +246,67,179,80 +237,27,185,115 +107,81,63,70 +19,65,26,116 +55,177,20,2 +55,177,70,227 +102,184,61,105 +204,74,112,62 +26,178,117,138 +108,202,28,186 +201,198,20,2 +26,179,26,179 +26,36,101,68,253,36,47,179,36,253,34,58,146,47 +58,28,84,74,118,179,115,50,78,152,49,63,34,227 +164,19,11,58,75,58,201,102,179,36,138,83,50,202 +164,4,11,58,75,58,201,102,179,36,138,83,50,202 +39,98,185,118,116,74,170,51,61,36,118,23,65,3 +75,39,50,108,118,179,206,118,99,97,2,59,116,76 +107,108,107,108,168,168,107,108,168,168,107,87,115,187 +0,98,151,49,49,99,2,59,152,116,98,197,49,74 +94,50,53,47,36,110,58,40,91,124,116,144,187,187 +0,102,184,22,180,184,75,118,128,49,61,253,59,152 +0,83,238,211,85,23,179,63,61,110,23,3,59,151 +76,51,47,204,202,152,73,7,255,45,140,165,37,227 +107,8,58,92,40,43,51,51,42,92,249,43,187,131 +28,111,28,30,90,1,104,197,50,202,197,110,116,112 +48,52,34,63,40,68,116,27,36,70,179,74,41,105 +231,140,118,84,58,118,168,36,212,140,50,60,74,65 +52,40,51,54,169,118,86,176,249,82,41,179,50,79 +0,91,147,1,116,59,74,44,190,1,199,59,120,134 +212,213,189,118,76,48,112,180,50,108,118,228,155,191 +123,58,150,52,226,124,49,56,1,51,32,54,114,223 +132,165,155,39,240,189,118,76,146,142,110,184,61,3 +57,26,30,40,57,110,45,73,110,26,30,74,151,44 +107,97,58,160,54,43,107,105,148,199,57,74,151,192 +126,168,247,233,206,39,159,220,234,20,59,191,102,116 +26,143,153,197,182,206,118,143,28,102,85,76,59,116 +28,230,28,120,58,1,216,221,71,78,59,28,77,191 +24,58,118,221,118,118,83,58,102,28,71,76,217,175 +119,74,1,102,28,83,59,253,39,7,227,59,160,116 +57,24,197,244,109,107,114,102,42,222,19,153,249,176 +103,25,36,118,177,1,253,177,179,59,58,131,34,198 +210,63,92,37,86,194,63,118,28,223,231,118,194,37 +26,58,158,102,196,0,50,108,118,115,28,117,59,99 +196,118,19,196,28,102,39,198,31,61,211,59,28,71 +25,238,19,197,67,11,156,78,11,36,37,53,37,198 +1,75,76,8,42 +67,52,56,45,73 +57,48,42,49,34 +49,63,40,109,115 +24,55,37,49,62 +107,97,180,179,223 +123,107,47,223,214 +246,187,43,148,228 +53,118,139,17,210 +28,85,15,84,191 +140,131,18,139,210 +47,147,240,74,151 +107,66,107,108,192 +107,65,107,97,192 +39,63,146,49,61 +179,107,180,177,17 +233,90,1,234,82 +94,123,94,123,94 +92,99,112,199,199 +107,114,20,122,194 +245,212,20,118,104 +18,75,18,75,61 +45,42,179,43,99 +240,51,118,129,253 +107,80,115,53,152 +39,102,179,18,208 +26,240,1,53,79 +208,63,190,43,235 +115,102,170,26,227 +9,2,94,9,187 +196,118,75,102,20 +1,91,190,120,43 +160,184,42,28,13 +247,69,63,225,151 +75,118,150,60,181 +189,118,159,102,43 +40,83,67,102,151 +49,36,40,132,238 +67,179,36,76,186 +115,17,197,179,61 +103,45,58,71,47 +246,96,43,84,248 +19,193,174,43,30 +28,157,196,223,106 +52,53,208,131,100 +104,58,78,34,70 +153,118,235,36,99 +133,179,132,140,142 +147,36,78,112,66 +179,52,148,36,45 +51,139,50,60,65 +100,132,249,161,210 +91,194,76,124,49 +25,69,100,51,148 +84,180,118,168,179 +100,37,177,207,177 +247,148,131,42,114 +115,209,103,61,191 +85,118,104,28,117 +212,213,189,140,181 +50,40,132,18,102 +240,204,76,104,101 +94,80,111,118,58 +245,205,76,78,130 +123,78,215,222,215 +107,50,39,28,235 +246,17,211,20,101 +94,76,111,225,131 +174,111,208,175,61 +27,237,107,97,29 +158,102,206,20,85 +247,75,212,7,158 +235,121,96,115,191 +199,40,208,52,202 +123,110,26,194,44 +76,107,104,140,202 +194,118,76,61,179 +196,39,147,179,225 +247,75,76,45,191 +18,75,85,197,227 +76,221,180,197,25 +25,238,39,179,23 +249,50,118,138,79 +28,120,115,63,145 +24,31,112,74,211 +166,39,50,99,2 +229,129,61,84,191 +92,48,100,48,86 +160,118,157,30,175 +118,79,50,74,181 +83,51,50,217,131 +26,26,82,151,151 +133,185,118,116,181 +85,28,232,85,76 +159,118,244,103,61 +26,208,36,37,85 +245,43,100,188,105 +181,91,134,124,71 +155,246,240,116,130 +102,28,223,36,13 +114,102,185,127,116 +236,58,237,85,61 +180,245,19,138,241 +25,133,58,118,61 +253,165,19,111,2 +164,92,47,105,158 +51,50,139,52,61 +228,232,104,28,145 +48,63,40,11,28,40,91,242,11,195,191,179,198 +236,94,91,97,45,122,93,43,94,36,202,85,115 +9,1,46,137,161,70,238,206,26,64,61,17,13 +30,131,131,39,239,39,131,52,186,59,7,42,61 +1,49,220,42,131,114,197,59,102,85,63,132,105 +30,131,42,39,83,165,83,20,61,59,104,36,47 +159,28,83,223,126,191,196,223,90,40,110,7,183 +189,118,190,102,63,189,39,168,59,102,195,74,74 +196,182,118,61,85,118,84,118,212,102,179,59,104 +247,1,1,59,227,59,65,245,28,102,149,76,131 +107,104,92,33,43,216,175,94,73,95,94,73,95 +50,108,1,118,104,181,206,158,110,116,99,59,179 +107,206,19,108,58,91,9,56,56,9,112,124,96 +28,160,151,58,159,40,58,104,110,158,214,215,190 +76,169,43,118,205,168,170,28,83,63,196,20,141 +164,111,101,165,192,179,197,194,187,167,18,142,116 +50,143,196,1,63,36,40,110,110,197,192,59,85 +76,28,101,102,65,63,76,84,42,63,102,179,62 +171,31,42,247,75,205,76,179,31,61,18,75,99 +109,112,49,51,108,164,226,173,132,30,118,99,103 +50,241,58,233,69,47,132,17,69,234,100,131,42 +107,49,107,50,114,39,179,57,61,110,48,99,3 +28,75,118,145,243,197,15,84,116,126,152,158,74 +165,157,4,159,223,107,80,134,34,223,223,183,214 +204,76,160,148,118,157,85,199,92,124,118,106,175 +25,196,1,28,83,1,196,206,118,138,93,102,85 +0,240,28,112,118,145,131,118,120,49,119,36,5 +247,153,206,99,70,115,182,204,238,153,74,206,145 +129,1,216,36,37,179,2,59,180,58,71,145,131 +57,203,66,248,27,45 +123,166,25,223,215,124 +246,181,2,245,212,158 +17,211,118,179,62,116 +210,1,107,5,20,76 +71,26,1,63,36,99 +180,68,116,17,45,231 +153,1,151,59,36,99 +102,206,76,101,179,61 +158,63,63,158,74,76 +107,72,164,46,112,43 +107,114,36,71,145,131 +98,48,80,199,116,22 +1,233,206,1,234,129 +132,98,151,48,165,86 +48,43,231,205,103,71 +0,63,43,181,59,151 +117,166,55,204,73,34 +179,67,36,51,237,235 +42,67,205,235,236,43 +187,96,34,118,236,7 +67,187,131,17,17,179 +67,179,235,49,49,37 +107,80,115,53,152,20 +123,184,226,124,109,58 +0,102,103,101,59,201 +52,107,65,42,115,175 +28,84,118,115,28,84 +75,126,190,39,65,65 +132,69,25,182,98,179 +28,83,190,1,179,167 +107,118,42,107,86,42 +67,171,45,179,166,61 +118,239,253,39,28,117 +235,204,197,235,191,191 +47,36,131,188,199,116 +123,131,68,115,226,124 +245,76,28,90,102,103 +253,118,246,85,76,71 +0,45,91,118,120,115 +115,208,197,147,179,61 +235,212,48,60,179,131 +246,7,205,43,45,188 +190,92,124,118,79,65 +194,126,28,117,115,104 +90,102,48,16,7,95 +100,190,63,145,131,202 +51,36,101,36,69,148 +0,100,219,91,131,120 +212,190,170,206,202,227 +247,67,52,37,28,127 +240,58,52,60,221,253 +28,70,145,132,18,102 +247,63,112,18,208,151 +0,17,118,120,179,131 +0,98,197,84,118,120 +190,199,246,36,47,148 +25,36,118,143,198,131 +194,197,246,82,227,99 +204,28,129,61,131,42 +107,97,107,72,178,192 +19,196,126,181,118,104 +17,126,23,45,23,179 +236,31,61,246,85,115 +233,246,234,82,191,76 +115,18,150,119,102,150 +18,111,50,78,152,74 +189,19,196,118,118,102 +158,28,109,245,181,16 +27,102,104,79,50,60 +160,190,47,118,181,97 +76,74,76,43,76,74 +40,28,157,190,199,106 +249,83,36,142,91,244 +164,144,146,235,36,70 +132,114,73,7,197,89 +132,178,131,36,37,2 +28,82,115,212,48,112 +102,71,131,138,41,201 +92,61,47,7,18,113 +245,212,191,126,97,76 +75,58,63,101,20,179 +216,197,231,231,197,175 +23,91,131,31,208,99 +67,58,71,36,103,45 +117,36,101,28,13,140 +204,159,189,13,126,190 +40,100,49,36,34,222 +39,115,189,39,190,190 +28,112,58,100,131,20 +123,55,28,223,4,44 +85,28,120,20,116,76 +131,223,132,36,223,120 +107,104,92,33,43,44 +204,105,179,47,166,42 +26,36,28,196,82,102 +67,179,107,214,37,67 +24,58,69,42,131,99 +1,18,142,92,111,79 +51,31,101,132,145,131 +1,179,43,59,99,2 +205,20,230,64,7,47 +69,84,235,235,165,47 +177,222,50,118,129,181 +50,143,118,253,18,77 +123,131,58,23,2,124 +25,18,70,98,102,66 +179,47,166,42,154,58,179,166,36,45,28,215 +1,236,140,156,52,62,53,57,36,105,74,151 +26,118,139,1,206,110,189,118,152,102,207,138 +58,179,36,118,179,74,115,212,78,116,131,61 +107,13,94,91,59,44,94,89,179,58,244,192 +182,234,243,38,131,165,138,59,61,39,59,76 +1,63,28,84,118,150,45,208,179,161,59,181 +51,48,58,40,107,27,223,43,58,8,221,44 +94,50,53,47,110,58,40,91,124,101,187,187 +197,66,36,66,114,190,1,98,63,76,18,90 +67,57,54,45,107,114,206,202,36,118,139,179 +238,36,111,126,31,61,211,211,39,24,69,99 +204,168,187,205,31,61,197,246,50,152,74,65 +11,92,253,11,70,179,54,57,83,42,197,61 +245,211,0,166,186,52,48,42,131,45,59,149 +0,179,117,36,101,59,16,102,63,102,28,13 +118,61,118,84,253,126,28,235,104,245,235,86 +96,38,131,234,68,56,139,151,36,72,87,194 +245,45,186,1,28,106,133,14,119,59,28,102 +0,132,63,43,63,63,45,186,65,59,151,132 +196,39,76,161,157,28,68,102,63,227,59,104 +28,30,58,26,13,121,96,1,121,36,59,102 +36,111,40,215,58,206,118,226,84,190,104,220 +107,114,118,20,245,76,146,198,28,155,41,201 +211,100,45,132,187,41,49,188,58,78,89,132 +26,56,157,118,76,57,54,49,54,177,67,151 +140,207,13,110,198,2,14,197,206,61,41,78 +123,215,58,124,58,133,91,50,148,124,84,131 +194,0,187,179,49,61,110,28,117,3,59,99 +39,246,100,131,20,52,202,23,66,49,51,61 +103,45,31,233,5,41,20,118,28,197,197,66 +63,233,40,124,41,49,234,71,131,114,234,227 +156,7,114,233,104,1,234,118,99,59,28,84 +98,184,226,94,5,152,110,111,94,17,105,78 +221,57,118,130,131,187,253 +5,43,185,224,9,138,240 +164,11,241,226,47,7,76 +246,18,153,177,201,49,61 +1,28,70,36,105,59,253 +25,100,131,8,42,8,74 +49,158,247,50,157,198,20 +40,197,147,41,87,197,39 +197,156,58,255,16,118,112 +236,184,107,97,184,192,61 +204,104,116,155,70,39,133 +197,170,17,210,157,118,179 +49,57,138,78,57,37,132 +42,100,236,161,51,43,211 +107,97,107,97,91,124,137 +210,69,179,228,92,47,106 +28,83,39,179,2,59,116 +1,172,1,165,223,59,66 +140,52,42,63,213,45,235 +30,39,75,190,190,59,202 +123,58,184,226,124,184,43 +27,131,151,83,115,49,112 +197,18,192,63,184,146,47 +75,126,47,90,39,115,227 +159,1,63,65,84,177,103 +1,26,29,59,102,63,79 +58,235,43,107,76,36,192 +191,197,90,40,110,7,183 +0,98,15,66,23,59,152 +7,33,132,40,19,98,43 +43,123,165,223,2,124,131 +76,132,107,40,42,115,89 +40,115,19,101,82,102,179 +191,243,90,40,110,7,183 +107,97,94,97,94,107,72 +50,5,54,42,134,221,214 +159,242,24,28,150,118,115 +67,58,49,50,37,219,151 +237,236,115,185,118,116,151 +63,26,1,58,101,59,253 +1,85,201,118,181,59,181 +48,215,123,33,215,78,215 +58,132,34,42,7,197,61 +204,237,211,18,111,36,99 +212,140,60,49,74,84,104 +27,1,65,14,235,59,151 +67,171,37,204,179,76,186 +179,17,63,103,45,54,224 +98,52,118,138,58,179,43 +50,108,118,228,62,28,198 +28,83,153,39,102,206,227 +118,145,58,160,43,36,105 +51,157,231,92,96,28,199 +67,173,138,248,182,37,133 +247,212,151,211,191,179,43 +92,70,58,27,192,71,26 +26,20,118,85,118,76,61 +157,82,18,90,82,231,198 +210,1,147,244,112,59,194 +182,206,205,60,37,59,104 +68,174,63,135,87,151,30 +135,61,15,179,50,79,23 +160,42,179,100,63,179,186 +180,165,25,118,43,197,102 +247,204,103,71,155,232,191 +39,63,43,17,63,20,168 +147,116,155,63,212,146,188 +102,67,184,36,115,177,103 +196,36,118,186,118,65,97 +28,68,63,76,132,244,198 +90,1,181,91,179,124,71 +131,51,13,68,211,61,42 +26,28,8,39,179,63,61 +118,61,197,28,143,198,65 +26,197,225,58,40,215,244 +194,165,36,186,118,253,179 +153,182,179,59,73,104,116 +166,24,18,142,118,104,151 +50,36,40,58,132,42,131 +64,102,58,42,124,33,59 +245,167,186,252,119,74,104 +39,63,36,79,151,59,71 +184,43,248,54,111,76,151 +247,189,118,199,102,191,76 +49,117,48,87,50,20,199 +67,28,244,48,16,231,76 +26,58,179,112,208,228,45 +28,30,36,101,36,40,212 +102,48,169,86,179,41,20 +101,25,39,63,139,28,117 +75,76,110,179,61,41,152 +63,43,110,131,37,41,194 +159,68,131,219,155,191,198 +92,58,47,72,49,54,138 +102,28,195,2,41,152,179 +140,13,63,48,60,91,197 +197,144,82,118,228,218,179 +118,79,28,77,191,28,103 +26,201,1,253,59,85,115 +247,104,16,7,20,231,104 +247,126,181,70,231,191,7 +28,83,126,190,208,198,99 +197,107,114,184,165,244,192 +222,36,24,29,180,150,140 +238,126,19,138,28,71,76 +94,15,94,202,27,85,76 +27,19,87,237,85,76,132 +240,28,117,36,15,237,42 +117,78,132,14,235,58,91,44,93,96,236 +49,50,186,22,169,63,49,49,42,45,129 +197,28,84,102,246,100,179,157,179,165,186 +50,40,63,57,13,63,63,101,42,41,62 +48,74,48,112,212,84,245,132,157,50,157 +55,26,36,232,63,179,78,36,244,156,36 +118,139,82,7,43,78,206,37,197,206,138 +25,238,208,205,132,131,118,253,58,146,148 +0,63,110,101,83,85,76,165,61,59,151 +43,207,36,114,39,207,187,101,58,73,226 +26,208,28,8,39,179,63,61,59,116,197 +194,182,76,59,39,18,208,65,59,82,104 +160,45,140,90,245,116,155,102,121,189,13 +75,184,90,182,228,177,59,104,8,89,194 +107,97,102,169,26,42,179,61,52,50,42 +197,75,82,197,61,118,84,118,14,104,102 +28,70,39,72,107,100,20,211,23,59,105 +67,179,167,94,6,238,20,138,94,17,105 +28,112,39,26,249,36,37,49,145,235,61 +133,91,84,131,124,17,41,191,50,145,235 +158,102,153,28,155,39,179,206,61,59,104 +115,196,182,212,53,37,205,181,22,59,116 +8,51,24,100,206,27,18,102,131,19,3 +26,196,1,212,213,212,65,59,179,17,210 +247,98,19,196,39,189,28,103,190,59,152 +27,58,196,118,180,206,37,118,115,95,79 +160,1,63,108,39,199,239,227,59,59,65 +197,229,129,197,63,229,129,28,130,177,179 +121,34,118,212,118,85,102,115,107,181,227 +26,28,83,247,179,63,61,99,92,43,106 +11,59,4,76,11,240,69,58,132,42,253 +0,28,106,151,91,28,106,124,118,120,65 +102,63,245,76,16,102,132,31,233,40,119 +0,18,142,164,0,2,45,63,99,59,151 +210,226,91,94,78,97,78,94,124,18,142 +155,1,39,18,75,61,59,186,97,59,179 +185,4,94,37,58,32,37,94,36,37,44 +210,170,40,25,41,58,159,31,233,105,179 +202,179,233,152,28,75,247,179,234,224,130 +31,208,131,53,108,31,86,70,126,168,104 +245,121,20,247,121,42,181,77,65,61,104 +26,58,118,224,196,118,231,118,196,28,102 +92,122,112,245,65,186,245,240,200,151,190 +94,12,32,14,94,36,246,240,78,19,154 +4,65,91,107,118,234,105,36,13,38,131 +107,216,48,122,74,158,253,198,85,77,198 +63,42,63,43,63,126,37,47,181,41,151 +94,43,45,32,94,173,192,151,115,69,141 +39,76,53,61,59,53,143,39,179,28,117 +249,58,165,47,155,126,23,39,206,19,112 +196,39,27,210,237,31,112,246,20,190,65 +55,53,26,49,53,157,1,28,223,53,202 +30,50,108,85,102,118,79,52,61,65,30 +98,151,28,83,39,51,47,181,59,104,181 +1,63,36,186,36,23,3,59,179,49,61 +36,210,211,50,157,40,110,126,191,197,183 +69,0,45,91,160,238,36,118,120,101,253 +166,1,205,168,170,107,70,17,42,179,129 +107,65,58,201,118,71,179,208 +173,25,172,25,184,222,74,90 +92,42,165,42,174,43,165,42 +49,123,58,131,49,62,124,17 +133,36,17,58,78,36,155,3 +107,47,139,107,47,197,241,242 +121,36,51,42,74,179,165,186 +147,36,233,234,16,1,234,112 +210,39,38,131,234,23,59,194 +238,85,39,184,61,110,190,3 +40,110,58,237,91,209,112,112 +58,161,73,58,255,47,43,17 +57,24,196,1,63,191,59,85 +123,58,107,91,19,111,124,243 +1,207,186,206,42,179,129,44 +7,95,33,132,40,215,209,43 +76,28,216,184,220,42,179,179 +37,50,49,43,83,206,42,133 +210,1,65,179,202,59,179,197 +18,185,58,18,75,118,18,81 +253,39,63,159,43,63,186,65 +92,76,214,123,164,111,108,214 +0,240,76,206,61,59,152,116 +0,69,69,131,23,59,53,152 +246,184,61,246,17,104,149,76 +107,54,20,61,91,49,112,72 +229,246,36,34,116,134,43,102 +28,30,1,194,118,196,59,102 +94,32,73,44,94,32,73,44 +248,157,102,43,49,50,37,131 +249,39,208,34,198,181,59,105 +196,118,28,42,28,102,36,99 +107,65,182,63,235,110,79,22 +49,158,123,58,179,112,156,44 +235,50,108,118,228,60,28,198 +155,58,208,179,36,179,208,177 +26,101,39,207,62,59,104,177 +160,92,39,118,193,92,43,106 +100,40,231,1,207,112,207,74 +153,198,115,189,126,190,118,104 +196,39,160,45,140,206,224,65 +28,30,121,36,58,157,89,102 +94,123,34,132,34,58,48,125 +25,184,36,29,48,90,102,202 +19,196,211,39,147,116,155,227 +205,43,177,53,99,216,181,5 +210,58,180,36,231,104,180,20 +205,102,98,51,101,198,50,99 +19,65,151,169,26,107,97,192 +153,198,39,100,115,63,115,61 +204,159,76,43,218,131,211,179 +179,17,204,78,45,253,42,161 +190,39,63,36,37,100,177,151 +132,28,112,39,63,99,59,105 +139,82,179,197,36,37,207,138 +57,39,18,142,63,153,198,99 +72,164,32,88,139,56,217,175 +115,104,17,55,43,206,116,225 +19,65,179,92,65,53,19,217 +212,213,222,189,76,36,14,131 +197,9,87,150,9,184,192,61 +248,11,63,47,18,101,132,42 +26,40,110,102,179,41,87,179 +49,53,146,206,61,41,152,116 +107,80,39,67,98,179,63,61 +57,177,58,159,238,42,179,131 +94,101,94,99,91,49,124,117 +26,179,208,206,26,208,179,45 +100,58,161,154,132,208,43,132 +87,63,40,112,58,147,145,131 +39,240,167,59,76,126,177,34 +24,69,187,101,23,97,41,152 +245,84,157,179,78,165,37,74 +204,179,208,179,61,41,152,116 +236,210,107,114,70,51,108,185 +164,32,37,191,198,175,36,37 +102,197,245,100,157,198,179,116 +159,197,249,42,222,92,43,106 +118,205,25,208,198,102,74,105 +67,23,58,100,22,180,43,217 +23,42,179,56,61,41,165,152 +98,189,231,198,206,99,41,152 +98,73,231,118,181,65,41,152 +100,26,58,157,82,102,74,105 +245,104,146,246,116,197,118,130 +1,7,84,45,42,59,179,213 +1,235,155,132,238,147,150,177 +26,51,143,39,208,7,177,61 +123,28,198,2,124,28,223,58 +67,212,213,131,131,8,218,176 +253,58,184,61,36,48,79,61 +76,142,63,205,240,237,181,3 +63,233,167,107,47,105,234,158 +216,135,74,51,202,7,19,217 +25,58,190,201,182,229,206,177,59,104 +222,248,98,42,51,148,166,78,37,22 +0,63,58,26,223,126,61,91,120,43 +50,40,58,119,74,206,28,199,118,199 +107,66,17,40,110,110,49,51,243,192 +57,24,1,110,57,26,101,118,116,85 +164,88,32,42,17,104,58,40,215,197 +181,91,49,74,124,103,204,145,131,183 +185,39,116,49,61,59,102,49,74,253 +210,1,107,5,20,76,202,59,179,197 +0,204,43,42,53,47,45,59,100,82 +26,50,143,118,112,39,208,147,179,61 +75,184,90,1,151,76,59,63,76,99 +238,63,160,118,101,102,164,14,180,99 +56,58,201,49,56,118,138,248,61,43 +194,1,98,198,115,58,160,227,59,179 +164,91,93,20,19,138,2,91,12,42 +53,63,40,164,44,32,106,67,41,202 +50,53,186,91,49,54,124,52,93,186 +178,26,153,39,187,179,49,61,59,116 +126,23,51,143,39,7,42,43,63,61 +131,204,26,25,201,208,118,151,211,99 +249,1,135,118,226,84,103,73,59,103 +63,108,198,199,63,110,152,227,41,151 +25,28,201,196,39,212,58,102,84,108 +247,73,140,91,118,120,243,93,191,244 +11,147,173,229,21,11,102,197,139,179 +0,131,68,168,36,51,99,5,91,120 +1,63,61,84,212,132,224,65,59,65 +30,30,63,76,50,52,54,48,19,3 +8,42,215,63,40,199,110,36,221,215 +0,38,131,167,234,42,59,186,82,102 +0,133,100,131,17,101,211,59,191,74 +84,26,36,40,151,50,108,187,41,202 +118,151,49,74,189,13,133,151,194,199 +126,213,28,75,118,73,126,181,102,104 +118,159,253,39,63,31,233,105,28,198 +194,39,115,212,49,74,181,59,199,141 +208,179,161,63,197,228,47,18,84,34 +0,75,118,85,102,28,117,59,152,116 +182,136,0,102,18,142,137,227,59,194 +236,42,43,239,209,177,74,239,30,175 +194,118,196,28,102,85,118,71,133,179 +31,86,118,47,102,85,126,151,115,175 +211,179,36,69,37,253,206,217,131,74 +118,194,253,39,102,115,49,50,26,227 +28,30,58,157,50,188,50,118,188,102 +118,116,67,228,45,49,57,43,242,132 +28,58,58,24,43,51,186,102,84,131 +9,6,62,138,88,219,219,29,9,61 +76,177,249,126,42,126,43,155,126,23 +18,81,58,91,118,116,124,94,142,168 +28,68,204,126,97,190,126,65,201,168 +39,63,164,46,42,106,114,59,28,103 +39,58,100,131,110,132,17,87,23,65 +190,0,239,208,179,45,59,90,127,194 +182,63,102,61,84,179,59,85,151,211 +115,40,110,47,204,151,116,76,110,193 +247,98,76,132,20,49,16,82,98 +237,91,23,91,107,65,124,107,97 +107,65,180,169,25,221,82,197,175 +0,205,179,253,186,65,59,152,116 +247,58,132,219,20,199,132,191,179 +67,132,51,37,48,16,118,179,71 +26,40,110,58,43,132,41,87,180 +204,235,236,235,36,235,130,100,43 +43,172,83,172,83,172,83,43,43 +94,32,42,33,94,92,33,19,154 +135,42,8,43,135,28,199,197,175 +165,126,177,114,253,63,249,47,22 +107,5,58,17,1,243,59,179,192 +47,55,48,47,154,131,92,42,42 +91,26,63,40,245,42,114,41,116 +107,114,20,236,184,61,32,32,35 +248,101,100,52,48,52,129,26,1 +179,53,42,132,25,55,37,232,190 +40,110,72,167,91,119,124,206,74 +153,39,179,165,61,59,118,76,103 +75,39,18,208,59,116,205,47,161 +98,197,56,157,197,82,118,66,67 +85,196,1,179,206,36,99,59,65 +24,1,24,29,115,59,102,36,105 +26,197,51,40,118,26,102,41,197 +107,155,43,123,58,107,155,62,124 +238,1,196,59,102,85,39,206,226 +159,1,207,110,126,105,206,112,183 +159,196,223,73,104,245,78,31,77 +118,76,58,132,36,180,133,42,97 +159,249,197,90,118,228,158,102,180 +75,39,63,126,13,102,227,59,168 +65,84,121,36,96,245,235,31,77 +45,0,91,118,120,110,76,74,71 +28,201,238,58,133,100,61,198,15 +0,73,140,91,118,120,212,140,179 +28,83,118,115,63,85,153,36,70 +28,83,1,103,110,76,42,59,71 +107,72,48,107,72,32,129,178,178 +246,205,43,45,223,100,49,49,188 +67,51,139,118,151,53,18,90,175 +26,131,58,201,182,228,101,59,202 +136,24,1,137,177,130,69,59,179 +25,206,208,26,18,102,206,37,70 +26,246,60,91,42,124,148,93,82 +0,98,12,132,138,63,61,59,151 +166,1,54,223,54,223,43,59,185 +98,118,151,48,135,118,86,19,27 +158,102,153,118,151,211,115,85,105 +67,24,11,1,245,153,11,42,43 +49,123,126,34,118,75,102,179,215 +107,80,135,43,115,49,54,157,175 +55,249,39,102,36,146,110,85,227 +233,1,234,104,61,91,38,190,235 +196,1,50,157,118,115,115,59,85 +58,231,74,118,19,187,224,102,97 +97,1,63,48,112,19,187,180,177 +179,153,182,63,221,115,197,59,104 +248,134,102,158,102,153,85,198,79 +159,246,63,105,203,118,205,103,71 +83,196,39,197,211,61,41,152,116 +92,61,42,92,58,19,98,132,43 +107,135,116,58,49,50,50,45,114 +24,65,91,206,19,65,179,124,117 +19,65,132,179,169,37,131,19,65 +194,39,76,53,224,110,23,65,3 +178,68,24,118,146,148,63,26,20 +115,182,63,67,103,133,61,59,116 +180,58,82,220,145,222,152,184,220 +17,205,210,211,118,85,118,76,115 +246,107,207,20,145,126,191,197,183 +69,63,157,231,118,181,65,41,194 +107,216,48,50,118,86,58,78,74 +54,57,102,227,91,52,50,124,253 +204,48,98,40,100,110,206,42,221 +107,54,247,223,43,190,20,228,220 +98,48,204,79,16,118,76,181,61 +206,139,222,206,27,232,2,41,152 +40,189,58,246,190,190,241,6,102 +28,112,126,28,117,39,102,23,65 +40,58,103,215,195,116,61,244,190 +24,126,132,69,247,69,63,62,99 +28,13,209,34,208,198,161,253,47 +74,107,66,67,58,67,86,41,82 +19,65,50,143,118,146,253,142,2 +28,83,39,153,206,99,59,28,103 +52,40,231,147,197,41,96,87,39 +""") // Split data on newlines - val programs = data.split("\n") + val programs = data(version - 1).split("\n") val charcodes = programs.map(_.split(",").map(_.trim.toInt)) charcodes.map(_.toList.map(BigInt.apply(_))).toList diff --git a/shared/src/main/scala/predictions.scala b/shared/src/main/scala/predictions.scala index 8621938..96bc5b0 100644 --- a/shared/src/main/scala/predictions.scala +++ b/shared/src/main/scala/predictions.scala @@ -12,12 +12,12 @@ class Predictions: var initalised: Boolean = false var pairs: ListBuffer[ListBuffer[BigDecimal]] = ListBuffer() - var version: Int = 1 + var version: Int = 2 def initalise(ver: Int): Unit = initalised = true version = ver // unused for now, but may be used in the future - val programs = Data().getData() // This may change based on version + val programs = Data().getData(version) // This may change based on version frequencies = ListBuffer.fill(256)(0) positions = ListBuffer.fill(maxDistance.toInt)(