diff --git a/bsp/pico-dev/MDK/mdk/template.uvoptx b/bsp/pico-dev/MDK/mdk/template.uvoptx index 975ff124a..ae86225d4 100644 --- a/bsp/pico-dev/MDK/mdk/template.uvoptx +++ b/bsp/pico-dev/MDK/mdk/template.uvoptx @@ -770,8 +770,8 @@ - D:\Users\lyon\AppData\Local\Arm\Packs\Keil\ARM_Compiler\1.6.3\EventRecorder.scvd - Keil.ARM_Compiler.1.6.3 + D:\Users\lyon\AppData\Local\Arm\Packs\Keil\ARM_Compiler\1.7.2\EventRecorder.scvd + Keil.ARM_Compiler.1.7.2 1 @@ -1668,17 +1668,29 @@ 0 0 + + 5 + 68 + 1 + 0 + 0 + 0 + ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c + PikaStdData_Utils.c + 0 + 0 + pikascript-api - 1 + 0 0 0 0 6 - 68 + 69 1 0 0 @@ -1690,7 +1702,7 @@ 6 - 69 + 70 1 0 0 @@ -1702,7 +1714,7 @@ 6 - 70 + 71 1 0 0 @@ -1714,7 +1726,7 @@ 6 - 71 + 72 1 0 0 @@ -1726,7 +1738,7 @@ 6 - 72 + 73 1 0 0 @@ -1738,7 +1750,7 @@ 6 - 73 + 74 1 0 0 @@ -1750,7 +1762,7 @@ 6 - 74 + 75 1 0 0 @@ -1762,7 +1774,7 @@ 6 - 75 + 76 1 0 0 @@ -1774,7 +1786,7 @@ 6 - 76 + 77 1 0 0 @@ -1786,7 +1798,7 @@ 6 - 77 + 78 1 0 0 @@ -1798,7 +1810,7 @@ 6 - 78 + 79 1 0 0 @@ -1810,7 +1822,7 @@ 6 - 79 + 80 1 0 0 @@ -1822,7 +1834,7 @@ 6 - 80 + 81 1 0 0 @@ -1834,7 +1846,7 @@ 6 - 81 + 82 1 0 0 @@ -1846,7 +1858,7 @@ 6 - 82 + 83 1 0 0 @@ -1858,7 +1870,7 @@ 6 - 83 + 84 1 0 0 @@ -1870,7 +1882,7 @@ 6 - 84 + 85 1 0 0 @@ -1882,7 +1894,7 @@ 6 - 85 + 86 1 0 0 @@ -1892,17 +1904,41 @@ 0 0 + + 6 + 87 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c + PikaStdData_dict_keys-api.c + 0 + 0 + + + 6 + 88 + 1 + 0 + 0 + 0 + ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c + PikaStdData_Utils-api.c + 0 + 0 + Python - 1 + 0 0 0 0 7 - 86 + 89 5 0 0 diff --git a/bsp/pico-dev/MDK/mdk/template.uvprojx b/bsp/pico-dev/MDK/mdk/template.uvprojx index b522ec125..42d5dfbbc 100644 --- a/bsp/pico-dev/MDK/mdk/template.uvprojx +++ b/bsp/pico-dev/MDK/mdk/template.uvprojx @@ -16,7 +16,7 @@ ARMCM0P_MPU ARM - ARM.CMSIS.5.8.0 + ARM.CMSIS.5.9.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE @@ -186,6 +186,7 @@ 0 0 0 + 0 0 0 8 @@ -955,6 +956,11 @@ 1 ..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c + + PikaStdData_Utils.c + 1 + ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c + @@ -1050,6 +1056,16 @@ 1 ..\..\pikascript\pikascript-api\PikaStdTask-api.c + + PikaStdData_dict_keys-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c + + + PikaStdData_Utils-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c + @@ -1083,7 +1099,7 @@ ARMCM0P_MPU ARM - ARM.CMSIS.5.8.0 + ARM.CMSIS.5.9.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE @@ -1253,6 +1269,7 @@ 0 0 0 + 0 0 0 8 @@ -2022,6 +2039,11 @@ 1 ..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c + + PikaStdData_Utils.c + 1 + ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c + @@ -2117,6 +2139,16 @@ 1 ..\..\pikascript\pikascript-api\PikaStdTask-api.c + + PikaStdData_dict_keys-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c + + + PikaStdData_Utils-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c + @@ -2150,7 +2182,7 @@ ARMCM0P_MPU ARM - ARM.CMSIS.5.8.0 + ARM.CMSIS.5.9.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE @@ -2320,6 +2352,7 @@ 0 0 0 + 0 0 0 8 @@ -3088,6 +3121,11 @@ 1 ..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c + + PikaStdData_Utils.c + 1 + ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c + @@ -3183,6 +3221,16 @@ 1 ..\..\pikascript\pikascript-api\PikaStdTask-api.c + + PikaStdData_dict_keys-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c + + + PikaStdData_Utils-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c + @@ -3210,13 +3258,13 @@ AC6-DebugInSRAM-printf 0x4 ARM-ADS - 6160000::V6.16::ARMCLANG + 6180000::V6.18::ARMCLANG 1 ARMCM0P_MPU ARM - ARM.CMSIS.5.8.0 + ARM.CMSIS.5.9.0 http://www.keil.com/pack/ IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0+") CLOCK(12000000) ESEL ELITTLE @@ -3386,6 +3434,7 @@ 0 0 0 + 0 0 0 8 @@ -4154,6 +4203,11 @@ 1 ..\..\..\..\package\PikaStdLib\PikaStdTask_Task.c + + PikaStdData_Utils.c + 1 + ..\..\..\..\package\PikaStdLib\PikaStdData_Utils.c + @@ -4249,6 +4303,16 @@ 1 ..\..\pikascript\pikascript-api\PikaStdTask-api.c + + PikaStdData_dict_keys-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_dict_keys-api.c + + + PikaStdData_Utils-api.c + 1 + ..\..\pikascript\pikascript-api\PikaStdData_Utils-api.c + @@ -4326,8 +4390,8 @@ RTE\Compiler\EventRecorderConf.h - - + + diff --git a/bsp/pico-dev/pikascript/PikaObj.pyi b/bsp/pico-dev/pikascript/PikaObj.pyi index 3dba31fec..a29db1feb 100644 --- a/bsp/pico-dev/pikascript/PikaObj.pyi +++ b/bsp/pico-dev/pikascript/PikaObj.pyi @@ -1,19 +1,6 @@ -#api -class TinyObj: - pass - - -class BaseObj(TinyObj): - pass - -class pointer: - pass - -def print(val: any): - pass - +class TinyObj:... +class BaseObj(TinyObj):... +class pointer:... +class any:... def printNoEnd(val: any): pass - -def taskLoop(task: any): - pass diff --git a/bsp/pico-dev/pikascript/PikaStdData.pyi b/bsp/pico-dev/pikascript/PikaStdData.pyi index c04006fc1..792373ea0 100644 --- a/bsp/pico-dev/pikascript/PikaStdData.pyi +++ b/bsp/pico-dev/pikascript/PikaStdData.pyi @@ -1,98 +1,78 @@ -#api from PikaObj import * class List(TinyObj): - def __init__(self): - pass - + def __init__(self): ... # add an arg after the end of list - def append(self, arg: any): - pass - + def append(self, arg: any): ... # get an arg by the index - def get(self, i: int) -> any: - pass - + def get(self, i: int) -> any: ... # set an arg by the index - def set(self, i: int, arg: any): - pass - + def set(self, i: int, arg: any): ... # get the length of list - def len(self) -> int: - pass + def len(self) -> int: ... # support for loop - def __iter__(self) -> any: - pass - + def __iter__(self) -> any: ... # support for loop - def __next__(self) -> any: - pass - + def __next__(self) -> any: ... # support list[] = val - def __set__(self, __key: any, __val: any): - pass + def __set__(self, __key: any, __val: any): ... + # support val = list[] + def __get__(self, __key: any) -> any: ... + def __del__(self): ... - # support val = list[] - def __get__(self, __key: any) -> any: - pass class Dict(TinyObj): - def __init__(self): - pass - + def __init__(self): ... # get an arg by the key - def get(self, key: str) -> any: - pass - + def get(self, key: str) -> any: ... # set an arg by the key - def set(self, key: str, arg: any): - pass - + def set(self, key: str, arg: any): ... # remove an arg by the key - def remove(self, key: str): - pass - - def __iter__(self) -> any: - pass - - def __next__(self) -> any: - pass - + def remove(self, key: str): ... + def __iter__(self) -> any: ... + def __next__(self) -> any: ... # support dict[] = val - def __set__(self, __key: any, __val: any): - pass + def __set__(self, __key: any, __val: any): ... + # support val = dict[] + def __get__(self, __key: any) -> any: ... + def __del__(self): ... + def keys(self) -> dict_keys: ... - # support val = dict[] - def __get__(self, __key: any) -> any: - pass + +class dict_keys(TinyObj): + def __iter__(self) -> any: ... + def __next__(self) -> any: ... class String(TinyObj): - def __init__(self, s:str): - pass - - def set(self, s:str): - pass - - def get(self)->str: - pass - - def __iter__(self) -> any: - pass - - def __next__(self) -> any: - pass - + def __init__(self, s: str): ... + def set(self, s: str): ... + def get(self) -> str: ... + def __iter__(self) -> any: ... + def __next__(self) -> any: ... # support string[] = val - def __set__(self, __key: any, __val: any): - pass + def __set__(self, __key: any, __val: any): ... + # support val = string[] + def __get__(self, __key: any) -> any: ... + # support str() + def __str__(self) -> str: ... + + def startwith(self, prefix: str) -> int: ... + def endwith(self, suffix: str) -> int: ... + def isdigit(self) -> int: ... + def islower(self) -> int: ... + def isalnum(self) -> int: ... + def isalpha(self) -> int: ... + def isspace(self) -> int: ... + def split(self, s: str) -> List: ... - # support val = string[] - def __get__(self, __key: any) -> any: - pass class ByteArray(List): # convert a string to ByteArray - def fromString(self, s:str): - pass + def fromString(self, s: str): ... + + +class Utils(TinyObj): + # convert a int to bytes + def int_to_bytes(self, val: int) -> bytes: ... diff --git a/bsp/pico-dev/pikascript/PikaStdLib.pyi b/bsp/pico-dev/pikascript/PikaStdLib.pyi index 65848e400..ab722d45c 100644 --- a/bsp/pico-dev/pikascript/PikaStdLib.pyi +++ b/bsp/pico-dev/pikascript/PikaStdLib.pyi @@ -1,33 +1,45 @@ -#api from PikaObj import * + class MemChecker(TinyObj): - def max(self):... - def now(self):... - def getMax(self) -> float:... - def getNow(self) -> float:... - def resetMax(self):... + def max(self): ... + def now(self): ... + def getMax(self) -> float: ... + def getNow(self) -> float: ... + def resetMax(self): ... class SysObj(BaseObj): - def type(self, arg: any):... - def remove(self, argPath: str):... - def int(self, arg: any) -> int:... - def float(self, arg: any) -> float:... - def str(self, arg: any) -> str:... - def iter(self, arg: any) -> any:... - def range(self, a1: int, a2: int) -> any:... - def __set__(self, obj: any, key: any, val: any, obj_str: str):... - def __get__(self, obj: any, key: any) -> any:... - def len(self, arg:any) -> int:... - def list(self) -> any:... - def dict(self) -> any:... + def type(self, arg: any): ... + def remove(self, argPath: str): ... + def int(self, arg: any) -> int: ... + def float(self, arg: any) -> float: ... + def str(self, arg: any) -> str: ... + def iter(self, arg: any) -> any: ... + def range(self, a1: int, a2: int) -> any: ... + def print(self, *val): ... + def printNoEnd(self, val: any): ... + def __set__(self, obj: any, key: any, val: any, obj_str: str): ... + def __get__(self, obj: any, key: any) -> any: ... + def __slice__(self, obj: any, start: any, end: any, step: int) -> any: ... + def len(self, arg: any) -> int: ... + def list(self) -> any: ... + def dict(self) -> any: ... + def hex(self, val: int) -> str: ... + def ord(self, val: str) -> int: ... + def chr(self, val: int) -> str: ... + def bytes(self, val: any) -> bytes: ... + def cformat(self, fmt: str, *var) -> str: ... + def id(self, obj: any) -> int: ... + class RangeObj(TinyObj): - def __next__(self) -> any:... + def __next__(self) -> any: ... class StringObj(TinyObj): - def __next__(self) -> any:... + def __next__(self) -> any: ... -class PikaObj(TinyObj):... + +class PikaObj(TinyObj): + ... diff --git a/bsp/pico-dev/pikascript/PikaStdTask.pyi b/bsp/pico-dev/pikascript/PikaStdTask.pyi index 1d2ee16dc..8d292eb23 100644 --- a/bsp/pico-dev/pikascript/PikaStdTask.pyi +++ b/bsp/pico-dev/pikascript/PikaStdTask.pyi @@ -1,9 +1,10 @@ #api from PikaObj import * import PikaStdData +import PikaStdLib -class Task(TinyObj): +class Task(PikaStdLib.SysObj): calls = PikaStdData.List() def __init__(self): diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c index 33379babb..19b03e93a 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData-api.c @@ -27,12 +27,24 @@ void PikaStdData_StringMethod(PikaObj *self, Args *args){ method_returnArg(args, res); } +void PikaStdData_UtilsMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_Utils(self); + method_returnArg(args, res); +} + +void PikaStdData_dict_keysMethod(PikaObj *self, Args *args){ + Arg* res = PikaStdData_dict_keys(self); + method_returnArg(args, res); +} + PikaObj *New_PikaStdData(Args *args){ PikaObj *self = New_TinyObj(args); class_defineConstructor(self, "ByteArray()->any", PikaStdData_ByteArrayMethod); class_defineConstructor(self, "Dict()->any", PikaStdData_DictMethod); class_defineConstructor(self, "List()->any", PikaStdData_ListMethod); class_defineConstructor(self, "String()->any", PikaStdData_StringMethod); + class_defineConstructor(self, "Utils()->any", PikaStdData_UtilsMethod); + class_defineConstructor(self, "dict_keys()->any", PikaStdData_dict_keysMethod); return self; } diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h index c301eae08..ef2547dcc 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData.h @@ -13,5 +13,7 @@ Arg* PikaStdData_ByteArray(PikaObj *self); Arg* PikaStdData_Dict(PikaObj *self); Arg* PikaStdData_List(PikaObj *self); Arg* PikaStdData_String(PikaObj *self); +Arg* PikaStdData_Utils(PikaObj *self); +Arg* PikaStdData_dict_keys(PikaObj *self); #endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c index 976245b6d..4b98ed10a 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict-api.c @@ -7,6 +7,10 @@ #include #include "BaseObj.h" +void PikaStdData_Dict___del__Method(PikaObj *self, Args *args){ + PikaStdData_Dict___del__(self); +} + void PikaStdData_Dict___get__Method(PikaObj *self, Args *args){ Arg* __key = args_getArg(args, "__key"); Arg* res = PikaStdData_Dict___get__(self, __key); @@ -39,6 +43,11 @@ void PikaStdData_Dict_getMethod(PikaObj *self, Args *args){ method_returnArg(args, res); } +void PikaStdData_Dict_keysMethod(PikaObj *self, Args *args){ + PikaObj* res = PikaStdData_Dict_keys(self); + method_returnObj(args, res); +} + void PikaStdData_Dict_removeMethod(PikaObj *self, Args *args){ char* key = args_getStr(args, "key"); PikaStdData_Dict_remove(self, key); @@ -52,12 +61,14 @@ void PikaStdData_Dict_setMethod(PikaObj *self, Args *args){ PikaObj *New_PikaStdData_Dict(Args *args){ PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__del__()", PikaStdData_Dict___del__Method); class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_Dict___get__Method); class_defineMethod(self, "__init__()", PikaStdData_Dict___init__Method); class_defineMethod(self, "__iter__()->any", PikaStdData_Dict___iter__Method); class_defineMethod(self, "__next__()->any", PikaStdData_Dict___next__Method); class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_Dict___set__Method); class_defineMethod(self, "get(key:str)->any", PikaStdData_Dict_getMethod); + class_defineMethod(self, "keys()->dict_keys", PikaStdData_Dict_keysMethod); class_defineMethod(self, "remove(key:str)", PikaStdData_Dict_removeMethod); class_defineMethod(self, "set(key:str,arg:any)", PikaStdData_Dict_setMethod); return self; diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h index 2d1336f40..1c74b5f77 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Dict.h @@ -9,12 +9,14 @@ PikaObj *New_PikaStdData_Dict(Args *args); +void PikaStdData_Dict___del__(PikaObj *self); Arg* PikaStdData_Dict___get__(PikaObj *self, Arg* __key); void PikaStdData_Dict___init__(PikaObj *self); Arg* PikaStdData_Dict___iter__(PikaObj *self); Arg* PikaStdData_Dict___next__(PikaObj *self); void PikaStdData_Dict___set__(PikaObj *self, Arg* __key, Arg* __val); Arg* PikaStdData_Dict_get(PikaObj *self, char* key); +PikaObj* PikaStdData_Dict_keys(PikaObj *self); void PikaStdData_Dict_remove(PikaObj *self, char* key); void PikaStdData_Dict_set(PikaObj *self, Arg* arg, char* key); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c index ee840e62d..1eba3357c 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List-api.c @@ -7,6 +7,10 @@ #include #include "BaseObj.h" +void PikaStdData_List___del__Method(PikaObj *self, Args *args){ + PikaStdData_List___del__(self); +} + void PikaStdData_List___get__Method(PikaObj *self, Args *args){ Arg* __key = args_getArg(args, "__key"); Arg* res = PikaStdData_List___get__(self, __key); @@ -57,6 +61,7 @@ void PikaStdData_List_setMethod(PikaObj *self, Args *args){ PikaObj *New_PikaStdData_List(Args *args){ PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__del__()", PikaStdData_List___del__Method); class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_List___get__Method); class_defineMethod(self, "__init__()", PikaStdData_List___init__Method); class_defineMethod(self, "__iter__()->any", PikaStdData_List___iter__Method); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h index c3e7049db..5d8751ad3 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_List.h @@ -9,6 +9,7 @@ PikaObj *New_PikaStdData_List(Args *args); +void PikaStdData_List___del__(PikaObj *self); Arg* PikaStdData_List___get__(PikaObj *self, Arg* __key); void PikaStdData_List___init__(PikaObj *self); Arg* PikaStdData_List___iter__(PikaObj *self); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c index cfad2f6cf..7d25506c3 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String-api.c @@ -34,16 +34,64 @@ void PikaStdData_String___set__Method(PikaObj *self, Args *args){ PikaStdData_String___set__(self, __key, __val); } +void PikaStdData_String___str__Method(PikaObj *self, Args *args){ + char* res = PikaStdData_String___str__(self); + method_returnStr(args, res); +} + +void PikaStdData_String_endwithMethod(PikaObj *self, Args *args){ + char* suffix = args_getStr(args, "suffix"); + int res = PikaStdData_String_endwith(self, suffix); + method_returnInt(args, res); +} + void PikaStdData_String_getMethod(PikaObj *self, Args *args){ char* res = PikaStdData_String_get(self); method_returnStr(args, res); } +void PikaStdData_String_isalnumMethod(PikaObj *self, Args *args){ + int res = PikaStdData_String_isalnum(self); + method_returnInt(args, res); +} + +void PikaStdData_String_isalphaMethod(PikaObj *self, Args *args){ + int res = PikaStdData_String_isalpha(self); + method_returnInt(args, res); +} + +void PikaStdData_String_isdigitMethod(PikaObj *self, Args *args){ + int res = PikaStdData_String_isdigit(self); + method_returnInt(args, res); +} + +void PikaStdData_String_islowerMethod(PikaObj *self, Args *args){ + int res = PikaStdData_String_islower(self); + method_returnInt(args, res); +} + +void PikaStdData_String_isspaceMethod(PikaObj *self, Args *args){ + int res = PikaStdData_String_isspace(self); + method_returnInt(args, res); +} + void PikaStdData_String_setMethod(PikaObj *self, Args *args){ char* s = args_getStr(args, "s"); PikaStdData_String_set(self, s); } +void PikaStdData_String_splitMethod(PikaObj *self, Args *args){ + char* s = args_getStr(args, "s"); + PikaObj* res = PikaStdData_String_split(self, s); + method_returnObj(args, res); +} + +void PikaStdData_String_startwithMethod(PikaObj *self, Args *args){ + char* prefix = args_getStr(args, "prefix"); + int res = PikaStdData_String_startwith(self, prefix); + method_returnInt(args, res); +} + PikaObj *New_PikaStdData_String(Args *args){ PikaObj *self = New_TinyObj(args); class_defineMethod(self, "__get__(__key:any)->any", PikaStdData_String___get__Method); @@ -51,8 +99,17 @@ PikaObj *New_PikaStdData_String(Args *args){ class_defineMethod(self, "__iter__()->any", PikaStdData_String___iter__Method); class_defineMethod(self, "__next__()->any", PikaStdData_String___next__Method); class_defineMethod(self, "__set__(__key:any,__val:any)", PikaStdData_String___set__Method); + class_defineMethod(self, "__str__()->str", PikaStdData_String___str__Method); + class_defineMethod(self, "endwith(suffix:str)->int", PikaStdData_String_endwithMethod); class_defineMethod(self, "get()->str", PikaStdData_String_getMethod); + class_defineMethod(self, "isalnum()->int", PikaStdData_String_isalnumMethod); + class_defineMethod(self, "isalpha()->int", PikaStdData_String_isalphaMethod); + class_defineMethod(self, "isdigit()->int", PikaStdData_String_isdigitMethod); + class_defineMethod(self, "islower()->int", PikaStdData_String_islowerMethod); + class_defineMethod(self, "isspace()->int", PikaStdData_String_isspaceMethod); class_defineMethod(self, "set(s:str)", PikaStdData_String_setMethod); + class_defineMethod(self, "split(s:str)->List", PikaStdData_String_splitMethod); + class_defineMethod(self, "startwith(prefix:str)->int", PikaStdData_String_startwithMethod); return self; } diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h index 5dbd1540b..694f37c36 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_String.h @@ -14,7 +14,16 @@ void PikaStdData_String___init__(PikaObj *self, char* s); Arg* PikaStdData_String___iter__(PikaObj *self); Arg* PikaStdData_String___next__(PikaObj *self); void PikaStdData_String___set__(PikaObj *self, Arg* __key, Arg* __val); +char* PikaStdData_String___str__(PikaObj *self); +int PikaStdData_String_endwith(PikaObj *self, char* suffix); char* PikaStdData_String_get(PikaObj *self); +int PikaStdData_String_isalnum(PikaObj *self); +int PikaStdData_String_isalpha(PikaObj *self); +int PikaStdData_String_isdigit(PikaObj *self); +int PikaStdData_String_islower(PikaObj *self); +int PikaStdData_String_isspace(PikaObj *self); void PikaStdData_String_set(PikaObj *self, char* s); +PikaObj* PikaStdData_String_split(PikaObj *self, char* s); +int PikaStdData_String_startwith(PikaObj *self, char* prefix); #endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c new file mode 100644 index 000000000..97ccbec68 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils-api.c @@ -0,0 +1,24 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_Utils.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_Utils_int_to_bytesMethod(PikaObj *self, Args *args){ + int val = args_getInt(args, "val"); + Arg* res = PikaStdData_Utils_int_to_bytes(self, val); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdData_Utils(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "int_to_bytes(val:int)->bytes", PikaStdData_Utils_int_to_bytesMethod); + return self; +} + +Arg *PikaStdData_Utils(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_Utils); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h new file mode 100644 index 000000000..d718c754d --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_Utils.h @@ -0,0 +1,14 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_Utils__H +#define __PikaStdData_Utils__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_Utils(Args *args); + +Arg* PikaStdData_Utils_int_to_bytes(PikaObj *self, int val); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c new file mode 100644 index 000000000..cd7055719 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys-api.c @@ -0,0 +1,29 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#include "PikaStdData_dict_keys.h" +#include "TinyObj.h" +#include +#include +#include "BaseObj.h" + +void PikaStdData_dict_keys___iter__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_dict_keys___iter__(self); + method_returnArg(args, res); +} + +void PikaStdData_dict_keys___next__Method(PikaObj *self, Args *args){ + Arg* res = PikaStdData_dict_keys___next__(self); + method_returnArg(args, res); +} + +PikaObj *New_PikaStdData_dict_keys(Args *args){ + PikaObj *self = New_TinyObj(args); + class_defineMethod(self, "__iter__()->any", PikaStdData_dict_keys___iter__Method); + class_defineMethod(self, "__next__()->any", PikaStdData_dict_keys___next__Method); + return self; +} + +Arg *PikaStdData_dict_keys(PikaObj *self){ + return obj_newObjInPackage(New_PikaStdData_dict_keys); +} diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h new file mode 100644 index 000000000..12cfa64c0 --- /dev/null +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdData_dict_keys.h @@ -0,0 +1,15 @@ +/* ******************************** */ +/* Warning! Don't modify this file! */ +/* ******************************** */ +#ifndef __PikaStdData_dict_keys__H +#define __PikaStdData_dict_keys__H +#include +#include +#include "PikaObj.h" + +PikaObj *New_PikaStdData_dict_keys(Args *args); + +Arg* PikaStdData_dict_keys___iter__(PikaObj *self); +Arg* PikaStdData_dict_keys___next__(PikaObj *self); + +#endif diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c index 92765e533..5973a2835 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker-api.c @@ -8,12 +8,12 @@ #include "BaseObj.h" void PikaStdLib_MemChecker_getMaxMethod(PikaObj *self, Args *args){ - float res = PikaStdLib_MemChecker_getMax(self); + double res = PikaStdLib_MemChecker_getMax(self); method_returnFloat(args, res); } void PikaStdLib_MemChecker_getNowMethod(PikaObj *self, Args *args){ - float res = PikaStdLib_MemChecker_getNow(self); + double res = PikaStdLib_MemChecker_getNow(self); method_returnFloat(args, res); } diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h index c673e9c9f..3c08601ff 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_MemChecker.h @@ -9,8 +9,8 @@ PikaObj *New_PikaStdLib_MemChecker(Args *args); -float PikaStdLib_MemChecker_getMax(PikaObj *self); -float PikaStdLib_MemChecker_getNow(PikaObj *self); +double PikaStdLib_MemChecker_getMax(PikaObj *self); +double PikaStdLib_MemChecker_getNow(PikaObj *self); void PikaStdLib_MemChecker_max(PikaObj *self); void PikaStdLib_MemChecker_now(PikaObj *self); void PikaStdLib_MemChecker_resetMax(PikaObj *self); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c index b25719e4f..3410cad81 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj-api.c @@ -22,6 +22,34 @@ void PikaStdLib_SysObj___set__Method(PikaObj *self, Args *args){ PikaStdLib_SysObj___set__(self, key, obj, obj_str, val); } +void PikaStdLib_SysObj___slice__Method(PikaObj *self, Args *args){ + Arg* end = args_getArg(args, "end"); + Arg* obj = args_getArg(args, "obj"); + Arg* start = args_getArg(args, "start"); + int step = args_getInt(args, "step"); + Arg* res = PikaStdLib_SysObj___slice__(self, end, obj, start, step); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_bytesMethod(PikaObj *self, Args *args){ + Arg* val = args_getArg(args, "val"); + Arg* res = PikaStdLib_SysObj_bytes(self, val); + method_returnArg(args, res); +} + +void PikaStdLib_SysObj_cformatMethod(PikaObj *self, Args *args){ + char* fmt = args_getStr(args, "fmt"); + PikaTuple* var = args_getPtr(args, "var"); + char* res = PikaStdLib_SysObj_cformat(self, fmt, var); + method_returnStr(args, res); +} + +void PikaStdLib_SysObj_chrMethod(PikaObj *self, Args *args){ + int val = args_getInt(args, "val"); + char* res = PikaStdLib_SysObj_chr(self, val); + method_returnStr(args, res); +} + void PikaStdLib_SysObj_dictMethod(PikaObj *self, Args *args){ Arg* res = PikaStdLib_SysObj_dict(self); method_returnArg(args, res); @@ -29,10 +57,22 @@ void PikaStdLib_SysObj_dictMethod(PikaObj *self, Args *args){ void PikaStdLib_SysObj_floatMethod(PikaObj *self, Args *args){ Arg* arg = args_getArg(args, "arg"); - float res = PikaStdLib_SysObj_float(self, arg); + double res = PikaStdLib_SysObj_float(self, arg); method_returnFloat(args, res); } +void PikaStdLib_SysObj_hexMethod(PikaObj *self, Args *args){ + int val = args_getInt(args, "val"); + char* res = PikaStdLib_SysObj_hex(self, val); + method_returnStr(args, res); +} + +void PikaStdLib_SysObj_idMethod(PikaObj *self, Args *args){ + Arg* obj = args_getArg(args, "obj"); + int res = PikaStdLib_SysObj_id(self, obj); + method_returnInt(args, res); +} + void PikaStdLib_SysObj_intMethod(PikaObj *self, Args *args){ Arg* arg = args_getArg(args, "arg"); int res = PikaStdLib_SysObj_int(self, arg); @@ -56,6 +96,22 @@ void PikaStdLib_SysObj_listMethod(PikaObj *self, Args *args){ method_returnArg(args, res); } +void PikaStdLib_SysObj_ordMethod(PikaObj *self, Args *args){ + char* val = args_getStr(args, "val"); + int res = PikaStdLib_SysObj_ord(self, val); + method_returnInt(args, res); +} + +void PikaStdLib_SysObj_printMethod(PikaObj *self, Args *args){ + PikaTuple* val = args_getPtr(args, "val"); + PikaStdLib_SysObj_print(self, val); +} + +void PikaStdLib_SysObj_printNoEndMethod(PikaObj *self, Args *args){ + Arg* val = args_getArg(args, "val"); + PikaStdLib_SysObj_printNoEnd(self, val); +} + void PikaStdLib_SysObj_rangeMethod(PikaObj *self, Args *args){ int a1 = args_getInt(args, "a1"); int a2 = args_getInt(args, "a2"); @@ -83,12 +139,21 @@ PikaObj *New_PikaStdLib_SysObj(Args *args){ PikaObj *self = New_BaseObj(args); class_defineMethod(self, "__get__(obj:any,key:any)->any", PikaStdLib_SysObj___get__Method); class_defineMethod(self, "__set__(obj:any,key:any,val:any,obj_str:str)", PikaStdLib_SysObj___set__Method); + class_defineMethod(self, "__slice__(obj:any,start:any,end:any,step:int)->any", PikaStdLib_SysObj___slice__Method); + class_defineMethod(self, "bytes(val:any)->bytes", PikaStdLib_SysObj_bytesMethod); + class_defineMethod(self, "cformat(fmt:str,*var)->str", PikaStdLib_SysObj_cformatMethod); + class_defineMethod(self, "chr(val:int)->str", PikaStdLib_SysObj_chrMethod); class_defineMethod(self, "dict()->any", PikaStdLib_SysObj_dictMethod); class_defineMethod(self, "float(arg:any)->float", PikaStdLib_SysObj_floatMethod); + class_defineMethod(self, "hex(val:int)->str", PikaStdLib_SysObj_hexMethod); + class_defineMethod(self, "id(obj:any)->int", PikaStdLib_SysObj_idMethod); class_defineMethod(self, "int(arg:any)->int", PikaStdLib_SysObj_intMethod); class_defineMethod(self, "iter(arg:any)->any", PikaStdLib_SysObj_iterMethod); class_defineMethod(self, "len(arg:any)->int", PikaStdLib_SysObj_lenMethod); class_defineMethod(self, "list()->any", PikaStdLib_SysObj_listMethod); + class_defineMethod(self, "ord(val:str)->int", PikaStdLib_SysObj_ordMethod); + class_defineMethod(self, "print(*val)", PikaStdLib_SysObj_printMethod); + class_defineMethod(self, "printNoEnd(val:any)", PikaStdLib_SysObj_printNoEndMethod); class_defineMethod(self, "range(a1:int,a2:int)->any", PikaStdLib_SysObj_rangeMethod); class_defineMethod(self, "remove(argPath:str)", PikaStdLib_SysObj_removeMethod); class_defineMethod(self, "str(arg:any)->str", PikaStdLib_SysObj_strMethod); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h index 866618cbc..83a07f3db 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdLib_SysObj.h @@ -11,12 +11,21 @@ PikaObj *New_PikaStdLib_SysObj(Args *args); Arg* PikaStdLib_SysObj___get__(PikaObj *self, Arg* key, Arg* obj); void PikaStdLib_SysObj___set__(PikaObj *self, Arg* key, Arg* obj, char* obj_str, Arg* val); +Arg* PikaStdLib_SysObj___slice__(PikaObj *self, Arg* end, Arg* obj, Arg* start, int step); +Arg* PikaStdLib_SysObj_bytes(PikaObj *self, Arg* val); +char* PikaStdLib_SysObj_cformat(PikaObj *self, char* fmt, PikaTuple* var); +char* PikaStdLib_SysObj_chr(PikaObj *self, int val); Arg* PikaStdLib_SysObj_dict(PikaObj *self); -float PikaStdLib_SysObj_float(PikaObj *self, Arg* arg); +double PikaStdLib_SysObj_float(PikaObj *self, Arg* arg); +char* PikaStdLib_SysObj_hex(PikaObj *self, int val); +int PikaStdLib_SysObj_id(PikaObj *self, Arg* obj); int PikaStdLib_SysObj_int(PikaObj *self, Arg* arg); Arg* PikaStdLib_SysObj_iter(PikaObj *self, Arg* arg); int PikaStdLib_SysObj_len(PikaObj *self, Arg* arg); Arg* PikaStdLib_SysObj_list(PikaObj *self); +int PikaStdLib_SysObj_ord(PikaObj *self, char* val); +void PikaStdLib_SysObj_print(PikaObj *self, PikaTuple* val); +void PikaStdLib_SysObj_printNoEnd(PikaObj *self, Arg* val); Arg* PikaStdLib_SysObj_range(PikaObj *self, int a1, int a2); void PikaStdLib_SysObj_remove(PikaObj *self, char* argPath); char* PikaStdLib_SysObj_str(PikaObj *self, Arg* arg); diff --git a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c index b0f530d71..0adabe3e3 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c +++ b/bsp/pico-dev/pikascript/pikascript-api/PikaStdTask_Task-api.c @@ -2,7 +2,7 @@ /* Warning! Don't modify this file! */ /* ******************************** */ #include "PikaStdTask_Task.h" -#include "TinyObj.h" +#include "PikaStdLib_SysObj.h" #include "PikaStdData_List.h" #include #include @@ -47,7 +47,7 @@ void PikaStdTask_Task_run_until_msMethod(PikaObj *self, Args *args){ } PikaObj *New_PikaStdTask_Task(Args *args){ - PikaObj *self = New_TinyObj(args); + PikaObj *self = New_PikaStdLib_SysObj(args); obj_newObj(self, "calls", "PikaStdData_List", New_PikaStdData_List); class_defineMethod(self, "__init__()", PikaStdTask_Task___init__Method); class_defineMethod(self, "call_always(fun_todo:any)", PikaStdTask_Task_call_alwaysMethod); diff --git a/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c index df322732f..05f22cd88 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c +++ b/bsp/pico-dev/pikascript/pikascript-api/__asset_pikaModules_py_a.c @@ -1,168 +1,154 @@ -const unsigned char pikaModules_py_a[] = { +#include "PikaPlatform.h" +/* warning: auto generated file, please do not modify */ +PIKA_BYTECODE_ALIGN const unsigned char pikaModules_py_a[] = { 0x7f, 0x70, 0x79, 0x61, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x84, 0x07, 0x00, 0x00, 0xc4, 0x04, 0x00, 0x96, 0x01, 0x00, 0x30, 0x81, - 0x09, 0x00, 0x20, 0x08, 0x12, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x08, - 0x12, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x96, 0x14, 0x00, 0x00, 0x96, - 0x1f, 0x00, 0x00, 0x82, 0x2b, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x82, - 0x45, 0x00, 0x00, 0x89, 0x52, 0x00, 0x00, 0x06, 0x76, 0x00, 0x11, 0x83, - 0x78, 0x00, 0x01, 0x02, 0x87, 0x00, 0x11, 0x81, 0x8d, 0x00, 0x01, 0x02, - 0x87, 0x00, 0x11, 0x81, 0x97, 0x00, 0x11, 0x01, 0x9d, 0x00, 0x01, 0x08, - 0xa6, 0x00, 0x01, 0x07, 0x76, 0x00, 0x12, 0x83, 0xa9, 0x00, 0x02, 0x02, - 0x87, 0x00, 0x12, 0x81, 0x8d, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x83, - 0xb1, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81, 0x9d, 0x00, 0x02, 0x02, - 0x87, 0x00, 0x12, 0x83, 0xc2, 0x00, 0x02, 0x02, 0x87, 0x00, 0x12, 0x81, - 0x97, 0x00, 0x02, 0x02, 0x87, 0x00, 0x02, 0x81, 0xd0, 0x00, 0x02, 0x07, - 0xd5, 0x00, 0x03, 0x85, 0x76, 0x00, 0x03, 0x04, 0xd7, 0x00, 0x02, 0x86, - 0xe2, 0x00, 0x01, 0x8b, 0x76, 0x00, 0x12, 0x83, 0xe5, 0x00, 0x02, 0x02, - 0x87, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, - 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, - 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, - 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, - 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, - 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05, - 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8f, - 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, - 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, - 0xff, 0x00, 0x10, 0x83, 0x2f, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, - 0x3f, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, - 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, - 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, - 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, - 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, - 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, 0x26, 0x01, 0x11, 0x05, - 0x28, 0x01, 0x01, 0x08, 0x2a, 0x01, 0x01, 0x07, 0x76, 0x00, 0x02, 0x8e, - 0x00, 0x00, 0x11, 0x81, 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, - 0x2d, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, - 0xff, 0x00, 0x10, 0x83, 0x4c, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, - 0xf1, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, 0xed, 0x00, 0x00, 0x04, - 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, 0xf1, 0x00, 0x10, 0x02, - 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, - 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, - 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, - 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x21, 0x85, 0xed, 0x00, 0x21, 0x05, - 0x59, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02, 0xfa, 0x00, 0x01, 0x04, - 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x07, 0x01, 0x01, 0x04, - 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82, 0x6d, 0x01, 0x01, 0x04, - 0x7a, 0x01, 0x01, 0x0d, 0x7a, 0x01, 0x01, 0x07, 0xd5, 0x00, 0x12, 0x81, - 0xef, 0x00, 0x12, 0x01, 0x7a, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04, - 0xef, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x00, 0x86, - 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x7c, 0x01, 0x10, 0x01, - 0xef, 0x00, 0x10, 0x05, 0x8d, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, - 0xed, 0x00, 0x00, 0x04, 0xef, 0x00, 0x20, 0x85, 0xed, 0x00, 0x20, 0x05, - 0xf1, 0x00, 0x10, 0x02, 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, - 0xff, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, - 0x0b, 0x01, 0x00, 0x04, 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, - 0x26, 0x01, 0x00, 0x0d, 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x11, 0x81, - 0xef, 0x00, 0x11, 0x01, 0x26, 0x01, 0x01, 0x08, 0x2d, 0x01, 0x01, 0x04, - 0xef, 0x00, 0x00, 0x86, 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, - 0x90, 0x01, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, 0x9d, 0x01, 0x00, 0x02, - 0x42, 0x01, 0x00, 0x82, 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85, - 0xb6, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02, - 0xb8, 0x01, 0x00, 0x82, 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x81, - 0xb1, 0x01, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x82, - 0x19, 0x01, 0x00, 0x04, 0xd5, 0x01, 0x00, 0x0d, 0xd5, 0x01, 0x00, 0x07, - 0xd5, 0x00, 0x01, 0x81, 0xd5, 0x01, 0x01, 0x04, 0xef, 0x00, 0x00, 0x86, - 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0xda, 0x01, 0x10, 0x01, - 0xef, 0x00, 0x10, 0x03, 0xc4, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82, - 0xa0, 0x01, 0x00, 0x04, 0xb1, 0x01, 0x10, 0x85, 0xb6, 0x01, 0x00, 0x02, - 0xb8, 0x01, 0x10, 0x83, 0xc4, 0x01, 0x00, 0x02, 0xb8, 0x01, 0x00, 0x82, - 0xc8, 0x01, 0x00, 0x04, 0xd1, 0x01, 0x10, 0x85, 0xed, 0x00, 0x00, 0x02, - 0xe8, 0x01, 0x00, 0x04, 0xf1, 0x01, 0x10, 0x85, 0x76, 0x00, 0x00, 0x02, - 0xe8, 0x01, 0x00, 0x04, 0xf4, 0x01, 0x10, 0x81, 0xb1, 0x01, 0x00, 0x02, - 0xfa, 0x00, 0x00, 0x04, 0xf7, 0x01, 0x10, 0x83, 0xfa, 0x00, 0x10, 0x01, - 0xf7, 0x01, 0x10, 0x01, 0xb1, 0x01, 0x00, 0x02, 0x42, 0x01, 0x00, 0x82, - 0xfb, 0x01, 0x00, 0x04, 0x0c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x10, 0x05, - 0x76, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x10, 0x05, - 0xd5, 0x00, 0x00, 0x02, 0x11, 0x02, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02, - 0x1c, 0x02, 0x10, 0x83, 0xef, 0x00, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04, - 0xef, 0x00, 0x10, 0x83, 0x1a, 0x02, 0x00, 0x02, 0x28, 0x02, 0x00, 0x04, - 0x1a, 0x02, 0x10, 0x83, 0x1f, 0x00, 0x10, 0x01, 0xef, 0x00, 0x10, 0x05, - 0x76, 0x00, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83, 0x31, 0x02, 0x10, 0x01, - 0x1a, 0x02, 0x10, 0x05, 0xed, 0x00, 0x00, 0x02, 0x42, 0x01, 0x00, 0x85, - 0xed, 0x00, 0x00, 0x04, 0x3f, 0x02, 0x00, 0x85, 0xd5, 0x00, 0x00, 0x04, - 0x26, 0x01, 0x20, 0x85, 0xd5, 0x00, 0x20, 0x05, 0x8d, 0x01, 0x10, 0x02, - 0xf4, 0x00, 0x00, 0x02, 0xfa, 0x00, 0x00, 0x04, 0xff, 0x00, 0x00, 0x01, - 0x03, 0x01, 0x00, 0x01, 0x07, 0x01, 0x00, 0x04, 0x0b, 0x01, 0x00, 0x04, - 0x12, 0x01, 0x00, 0x82, 0x19, 0x01, 0x00, 0x04, 0x26, 0x01, 0x00, 0x0d, - 0x26, 0x01, 0x00, 0x07, 0xd5, 0x00, 0x01, 0x85, 0xd5, 0x00, 0x01, 0x04, - 0x43, 0x02, 0x01, 0x85, 0x76, 0x00, 0x01, 0x04, 0x45, 0x02, 0x21, 0x85, - 0xd5, 0x00, 0x21, 0x01, 0x26, 0x01, 0x11, 0x02, 0xf4, 0x00, 0x01, 0x02, - 0xfa, 0x00, 0x01, 0x04, 0x5b, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, - 0x07, 0x01, 0x01, 0x04, 0x5f, 0x01, 0x01, 0x04, 0x66, 0x01, 0x01, 0x82, - 0x6d, 0x01, 0x01, 0x04, 0x43, 0x02, 0x01, 0x0d, 0x43, 0x02, 0x01, 0x07, - 0xd5, 0x00, 0x22, 0x81, 0x26, 0x01, 0x22, 0x01, 0x43, 0x02, 0x12, 0x08, - 0x4e, 0x02, 0x12, 0x05, 0xed, 0x00, 0x02, 0x08, 0x2a, 0x01, 0x02, 0x07, - 0x76, 0x00, 0x03, 0x85, 0xed, 0x00, 0x03, 0x04, 0x45, 0x02, 0x03, 0x8e, - 0x00, 0x00, 0x01, 0x86, 0xe2, 0x00, 0x01, 0x8c, 0x5b, 0x01, 0x01, 0x81, - 0x45, 0x02, 0x01, 0x07, 0x76, 0x00, 0x12, 0x81, 0x3f, 0x02, 0x12, 0x01, - 0x26, 0x01, 0x02, 0x08, 0x2d, 0x01, 0x02, 0x04, 0x3f, 0x02, 0x00, 0x86, - 0xe2, 0x00, 0x00, 0x8c, 0xff, 0x00, 0x10, 0x83, 0x50, 0x02, 0x10, 0x01, - 0x3f, 0x02, 0x10, 0x05, 0x60, 0x02, 0x00, 0x02, 0x42, 0x01, 0x10, 0x83, - 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0x79, 0x02, 0x00, 0x02, - 0x87, 0x00, 0x10, 0x83, 0x64, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, - 0x8e, 0x02, 0x00, 0x02, 0x87, 0x00, 0x00, 0x82, 0x9c, 0x02, 0x10, 0x83, - 0xa4, 0x02, 0x00, 0x02, 0x87, 0x00, 0x10, 0x83, 0xb1, 0x02, 0x00, 0x02, - 0x87, 0x00, 0xb9, 0x02, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a, - 0x00, 0x50, 0x69, 0x6b, 0x61, 0x4f, 0x62, 0x6a, 0x2e, 0x00, 0x2a, 0x00, - 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x00, 0x50, - 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, 0x50, - 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x2e, 0x4d, 0x65, - 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x6d, 0x65, 0x6d, - 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x61, - 0x78, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x28, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x29, 0x00, 0x31, 0x00, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x54, 0x45, 0x53, - 0x54, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x00, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x00, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x00, 0x21, 0x3d, 0x00, 0x5b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x5d, - 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, 0x20, 0x45, 0x78, 0x70, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x3a, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, - 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x3a, 0x00, 0x54, 0x72, 0x75, 0x65, - 0x00, 0x32, 0x00, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x20, 0x6f, 0x72, - 0x20, 0x00, 0x2d, 0x31, 0x00, 0x5b, 0x20, 0x4f, 0x4b, 0x20, 0x20, 0x5d, - 0x00, 0x30, 0x00, 0x61, 0x00, 0x31, 0x30, 0x00, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x5f, 0x6c, 0x30, 0x00, 0x5f, - 0x72, 0x31, 0x00, 0x5f, 0x72, 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61, - 0x32, 0x00, 0x5f, 0x6c, 0x30, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x30, - 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x69, 0x00, - 0x35, 0x00, 0x3d, 0x3d, 0x00, 0x2b, 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x69, - 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x00, 0x34, - 0x30, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, 0x00, - 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x00, 0x33, 0x00, 0x5f, 0x6c, 0x31, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61, - 0x32, 0x00, 0x5f, 0x6c, 0x31, 0x2e, 0x61, 0x31, 0x00, 0x5f, 0x6c, 0x31, - 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x6b, 0x00, - 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x00, 0x33, 0x30, 0x00, 0x66, 0x6f, 0x72, 0x5f, - 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x34, 0x35, 0x00, - 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x00, 0x37, 0x00, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x00, - 0x65, 0x65, 0x65, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x6c, 0x65, 0x6e, - 0x00, 0x6c, 0x65, 0x6e, 0x00, 0x69, 0x74, 0x65, 0x6d, 0x00, 0x6c, 0x69, - 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x00, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x00, 0x61, 0x31, 0x00, - 0x61, 0x32, 0x00, 0x72, 0x65, 0x73, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, - 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x00, - 0x64, 0x69, 0x63, 0x74, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x73, 0x65, - 0x74, 0x00, 0x62, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x67, 0x65, 0x74, + 0xc4, 0x06, 0x00, 0x00, 0x3c, 0x04, 0x00, 0x96, 0x01, 0x00, 0x00, 0x96, + 0x0c, 0x00, 0x00, 0x82, 0x18, 0x00, 0x00, 0x04, 0x2e, 0x00, 0x00, 0x82, + 0x32, 0x00, 0x00, 0x89, 0x3f, 0x00, 0x00, 0x06, 0x63, 0x00, 0x11, 0x83, + 0x65, 0x00, 0x01, 0x02, 0x74, 0x00, 0x11, 0x81, 0x7a, 0x00, 0x01, 0x02, + 0x74, 0x00, 0x11, 0x81, 0x84, 0x00, 0x11, 0x01, 0x8a, 0x00, 0x01, 0x08, + 0x93, 0x00, 0x01, 0x07, 0x63, 0x00, 0x12, 0x83, 0x96, 0x00, 0x02, 0x02, + 0x74, 0x00, 0x12, 0x81, 0x7a, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x83, + 0x9e, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x81, 0x8a, 0x00, 0x02, 0x02, + 0x74, 0x00, 0x12, 0x83, 0xaf, 0x00, 0x02, 0x02, 0x74, 0x00, 0x12, 0x81, + 0x84, 0x00, 0x02, 0x02, 0x74, 0x00, 0x02, 0x81, 0xbd, 0x00, 0x02, 0x07, + 0xc2, 0x00, 0x03, 0x85, 0x63, 0x00, 0x03, 0x04, 0xc4, 0x00, 0x02, 0x86, + 0xcf, 0x00, 0x01, 0x8b, 0x63, 0x00, 0x12, 0x83, 0xd2, 0x00, 0x02, 0x02, + 0x74, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, + 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02, + 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82, + 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07, + 0xc2, 0x00, 0x11, 0x81, 0xfd, 0x00, 0x11, 0x05, 0xff, 0x00, 0x01, 0x08, + 0x01, 0x01, 0x01, 0x07, 0x63, 0x00, 0x02, 0x8f, 0x00, 0x00, 0x11, 0x81, + 0xdc, 0x00, 0x11, 0x01, 0xfd, 0x00, 0x01, 0x08, 0x04, 0x01, 0x01, 0x04, + 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83, + 0x06, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05, 0x16, 0x01, 0x00, 0x02, + 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, 0xdc, 0x00, 0x20, 0x85, + 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02, + 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, + 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x11, 0x81, + 0xfd, 0x00, 0x11, 0x05, 0xff, 0x00, 0x01, 0x08, 0x01, 0x01, 0x01, 0x07, + 0x63, 0x00, 0x02, 0x8e, 0x00, 0x00, 0x11, 0x81, 0xdc, 0x00, 0x11, 0x01, + 0xfd, 0x00, 0x01, 0x08, 0x04, 0x01, 0x01, 0x04, 0xdc, 0x00, 0x00, 0x86, + 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83, 0x23, 0x01, 0x10, 0x01, + 0xdc, 0x00, 0x10, 0x05, 0xde, 0x00, 0x00, 0x02, 0x19, 0x01, 0x00, 0x85, + 0xda, 0x00, 0x00, 0x04, 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05, + 0xde, 0x00, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, + 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, + 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x21, 0x85, 0xda, 0x00, 0x21, 0x05, + 0x30, 0x01, 0x11, 0x02, 0xe1, 0x00, 0x01, 0x02, 0xe7, 0x00, 0x01, 0x04, + 0x32, 0x01, 0x01, 0x82, 0x36, 0x01, 0x01, 0x04, 0x43, 0x01, 0x01, 0x0d, + 0x43, 0x01, 0x01, 0x07, 0xc2, 0x00, 0x12, 0x81, 0xdc, 0x00, 0x12, 0x01, + 0x43, 0x01, 0x02, 0x08, 0x04, 0x01, 0x02, 0x04, 0xdc, 0x00, 0x01, 0x86, + 0xcf, 0x00, 0x01, 0x8c, 0x32, 0x01, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, + 0xec, 0x00, 0x10, 0x83, 0x45, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05, + 0x56, 0x01, 0x00, 0x02, 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, + 0xdc, 0x00, 0x20, 0x85, 0xda, 0x00, 0x20, 0x05, 0xde, 0x00, 0x10, 0x02, + 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x82, + 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, 0xfd, 0x00, 0x00, 0x07, + 0xc2, 0x00, 0x11, 0x81, 0xdc, 0x00, 0x11, 0x01, 0xfd, 0x00, 0x01, 0x08, + 0x04, 0x01, 0x01, 0x04, 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, + 0xec, 0x00, 0x10, 0x83, 0x59, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x05, + 0x66, 0x01, 0x00, 0x02, 0x19, 0x01, 0x00, 0x82, 0x69, 0x01, 0x00, 0x04, + 0x7a, 0x01, 0x10, 0x85, 0x7f, 0x01, 0x00, 0x02, 0x81, 0x01, 0x10, 0x83, + 0x8d, 0x01, 0x00, 0x02, 0x81, 0x01, 0x00, 0x82, 0x91, 0x01, 0x00, 0x04, + 0x9a, 0x01, 0x10, 0x81, 0x7a, 0x01, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, + 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0x9e, 0x01, 0x00, 0x0d, + 0x9e, 0x01, 0x00, 0x07, 0xc2, 0x00, 0x01, 0x81, 0x9e, 0x01, 0x01, 0x04, + 0xdc, 0x00, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, 0xec, 0x00, 0x10, 0x83, + 0xa3, 0x01, 0x10, 0x01, 0xdc, 0x00, 0x10, 0x03, 0x8d, 0x01, 0x00, 0x02, + 0x19, 0x01, 0x00, 0x82, 0x69, 0x01, 0x00, 0x04, 0x7a, 0x01, 0x10, 0x85, + 0x7f, 0x01, 0x00, 0x02, 0x81, 0x01, 0x10, 0x83, 0x8d, 0x01, 0x00, 0x02, + 0x81, 0x01, 0x00, 0x82, 0x91, 0x01, 0x00, 0x04, 0x9a, 0x01, 0x10, 0x85, + 0xda, 0x00, 0x00, 0x02, 0xb1, 0x01, 0x00, 0x04, 0xba, 0x01, 0x10, 0x85, + 0x63, 0x00, 0x00, 0x02, 0xb1, 0x01, 0x00, 0x04, 0xbd, 0x01, 0x10, 0x81, + 0x7a, 0x01, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, 0xc0, 0x01, 0x10, 0x83, + 0xe7, 0x00, 0x10, 0x01, 0xc0, 0x01, 0x10, 0x01, 0x7a, 0x01, 0x00, 0x02, + 0x19, 0x01, 0x00, 0x82, 0xc4, 0x01, 0x00, 0x04, 0xd5, 0x01, 0x10, 0x83, + 0xdc, 0x00, 0x10, 0x05, 0x63, 0x00, 0x00, 0x02, 0xda, 0x01, 0x10, 0x83, + 0xe3, 0x01, 0x10, 0x05, 0xc2, 0x00, 0x00, 0x02, 0xda, 0x01, 0x10, 0x83, + 0xe3, 0x01, 0x00, 0x02, 0xe5, 0x01, 0x10, 0x83, 0xdc, 0x00, 0x00, 0x02, + 0xf1, 0x01, 0x00, 0x04, 0xdc, 0x00, 0x10, 0x83, 0xe3, 0x01, 0x00, 0x02, + 0xf1, 0x01, 0x00, 0x04, 0xe3, 0x01, 0x10, 0x83, 0x0c, 0x00, 0x10, 0x01, + 0xdc, 0x00, 0x10, 0x05, 0x63, 0x00, 0x00, 0x02, 0x19, 0x01, 0x10, 0x83, + 0xfa, 0x01, 0x10, 0x01, 0xe3, 0x01, 0x10, 0x05, 0xda, 0x00, 0x00, 0x02, + 0x19, 0x01, 0x00, 0x85, 0xda, 0x00, 0x00, 0x04, 0x08, 0x02, 0x00, 0x85, + 0xc2, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x20, 0x85, 0xc2, 0x00, 0x20, 0x05, + 0x56, 0x01, 0x10, 0x02, 0xe1, 0x00, 0x00, 0x02, 0xe7, 0x00, 0x00, 0x04, + 0xec, 0x00, 0x00, 0x82, 0xf0, 0x00, 0x00, 0x04, 0xfd, 0x00, 0x00, 0x0d, + 0xfd, 0x00, 0x00, 0x07, 0xc2, 0x00, 0x01, 0x85, 0xc2, 0x00, 0x01, 0x04, + 0x0c, 0x02, 0x01, 0x85, 0x63, 0x00, 0x01, 0x04, 0x0e, 0x02, 0x21, 0x85, + 0xc2, 0x00, 0x21, 0x01, 0xfd, 0x00, 0x11, 0x02, 0xe1, 0x00, 0x01, 0x02, + 0xe7, 0x00, 0x01, 0x04, 0x32, 0x01, 0x01, 0x82, 0x36, 0x01, 0x01, 0x04, + 0x0c, 0x02, 0x01, 0x0d, 0x0c, 0x02, 0x01, 0x07, 0xc2, 0x00, 0x22, 0x81, + 0xfd, 0x00, 0x22, 0x01, 0x0c, 0x02, 0x12, 0x08, 0x17, 0x02, 0x12, 0x05, + 0xda, 0x00, 0x02, 0x08, 0x01, 0x01, 0x02, 0x07, 0x63, 0x00, 0x03, 0x85, + 0xda, 0x00, 0x03, 0x04, 0x0e, 0x02, 0x03, 0x8e, 0x00, 0x00, 0x01, 0x86, + 0xcf, 0x00, 0x01, 0x8c, 0x32, 0x01, 0x01, 0x81, 0x0e, 0x02, 0x01, 0x07, + 0x63, 0x00, 0x12, 0x81, 0x08, 0x02, 0x12, 0x01, 0xfd, 0x00, 0x02, 0x08, + 0x04, 0x01, 0x02, 0x04, 0x08, 0x02, 0x00, 0x86, 0xcf, 0x00, 0x00, 0x8c, + 0xec, 0x00, 0x10, 0x83, 0x19, 0x02, 0x10, 0x01, 0x08, 0x02, 0x10, 0x05, + 0x29, 0x02, 0x00, 0x02, 0x19, 0x01, 0x10, 0x83, 0x2d, 0x02, 0x00, 0x02, + 0x74, 0x00, 0x10, 0x83, 0x42, 0x02, 0x00, 0x02, 0x74, 0x00, 0x10, 0x83, + 0x2d, 0x02, 0x00, 0x02, 0x74, 0x00, 0x10, 0x83, 0x57, 0x02, 0x00, 0x02, + 0x74, 0x00, 0x00, 0x82, 0x65, 0x02, 0x10, 0x83, 0x6d, 0x02, 0x00, 0x02, + 0x74, 0x00, 0x10, 0x83, 0x7a, 0x02, 0x00, 0x02, 0x74, 0x00, 0x82, 0x02, + 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x00, + 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, + 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x4c, 0x69, 0x62, 0x2e, 0x4d, + 0x65, 0x6d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x6d, 0x65, + 0x6d, 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x4d, + 0x61, 0x78, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x51, + 0x28, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x29, 0x00, 0x31, 0x00, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x54, 0x45, + 0x53, 0x54, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x00, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x00, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x00, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x00, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x00, 0x21, 0x3d, 0x00, 0x5b, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x5d, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, 0x5d, 0x20, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x3a, 0x00, 0x5b, 0x69, 0x6e, 0x66, 0x6f, + 0x5d, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x3a, 0x00, 0x54, 0x72, 0x75, + 0x65, 0x00, 0x32, 0x00, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x20, 0x6f, + 0x72, 0x20, 0x00, 0x2d, 0x31, 0x00, 0x5b, 0x20, 0x4f, 0x4b, 0x20, 0x20, + 0x5d, 0x00, 0x30, 0x00, 0x61, 0x00, 0x31, 0x30, 0x00, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x00, 0x69, 0x74, 0x65, 0x72, 0x00, 0x5f, 0x6c, 0x30, 0x00, + 0x5f, 0x6c, 0x30, 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, + 0x00, 0x69, 0x00, 0x35, 0x00, 0x3d, 0x3d, 0x00, 0x2b, 0x00, 0x66, 0x6f, + 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x65, 0x00, 0x34, 0x30, 0x00, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x5f, + 0x45, 0x51, 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x62, 0x72, + 0x65, 0x61, 0x6b, 0x00, 0x33, 0x00, 0x5f, 0x6c, 0x31, 0x00, 0x5f, 0x6c, + 0x31, 0x2e, 0x5f, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x5f, 0x00, 0x6b, + 0x00, 0x66, 0x6f, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x33, 0x30, 0x00, 0x66, 0x6f, 0x72, + 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x00, 0x34, 0x35, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, - 0x5f, 0x32, 0x00, 0x6e, 0x75, 0x6d, 0x00, 0x6a, 0x00, 0x69, 0x73, 0x5f, - 0x70, 0x72, 0x69, 0x6d, 0x65, 0x00, 0x25, 0x00, 0x70, 0x72, 0x69, 0x6d, - 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x33, 0x30, 0x00, - 0x31, 0x32, 0x39, 0x00, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x00, 0x37, + 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, + 0x00, 0x65, 0x65, 0x65, 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x6c, 0x65, + 0x6e, 0x00, 0x6c, 0x65, 0x6e, 0x00, 0x69, 0x74, 0x65, 0x6d, 0x00, 0x6c, + 0x69, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, + 0x00, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x67, 0x65, 0x74, 0x00, 0x61, 0x31, + 0x00, 0x61, 0x32, 0x00, 0x72, 0x65, 0x73, 0x00, 0x50, 0x69, 0x6b, 0x61, + 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x63, 0x74, + 0x00, 0x64, 0x69, 0x63, 0x74, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x73, + 0x65, 0x74, 0x00, 0x62, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x00, 0x64, 0x69, 0x63, 0x74, 0x2e, 0x67, 0x65, + 0x74, 0x00, 0x50, 0x69, 0x6b, 0x61, 0x53, 0x74, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x5f, 0x32, 0x00, 0x6e, 0x75, 0x6d, 0x00, 0x6a, 0x00, 0x69, 0x73, + 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x65, 0x00, 0x25, 0x00, 0x70, 0x72, 0x69, + 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x33, 0x30, + 0x00, 0x31, 0x32, 0x39, 0x00, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, - 0x00, 0x5b, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x73, - 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x5d, 0x00, 0x6d, 0x65, - 0x6d, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x3a, 0x00, - 0x6d, 0x65, 0x6d, 0x2e, 0x6d, 0x61, 0x78, 0x00, 0x74, 0x65, 0x73, 0x74, - 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x65, 0x6e, 0x64, - 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x5b, 0x55, 0x6e, 0x69, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, + 0x73, 0x20, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x5d, 0x00, 0x6d, + 0x65, 0x6d, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x3a, + 0x00, 0x6d, 0x65, 0x6d, 0x2e, 0x6d, 0x61, 0x78, 0x00, 0x74, 0x65, 0x73, + 0x74, 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x65, 0x6e, + 0x64, 0x5c, 0x72, 0x5c, 0x6e, 0x00, 0x00, 0x00, 0x00, }; diff --git a/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt index 168682397..6e62bc3f2 100644 --- a/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt +++ b/bsp/pico-dev/pikascript/pikascript-api/compiler-info.txt @@ -1 +1 @@ -Compiler { dist_path: "pikascript-api/", source_path: "", class_list: {"PikaDebug": ClassInfo { this_class_name: "PikaDebug", this_class_name_without_file: "PikaDebug", super_class_name: "TinyObj", method_list: {"Debuger": MethodInfo { class_name: "PikaDebug", name: "Debuger", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaDebug_Debuger": ClassInfo { this_class_name: "PikaDebug_Debuger", this_class_name_without_file: "Debuger", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaDebug_Debuger", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "set_trace": MethodInfo { class_name: "PikaDebug_Debuger", name: "set_trace", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaMain": ClassInfo { this_class_name: "PikaMain", this_class_name_without_file: "PikaMain", super_class_name: "PikaStdLib_SysObj", method_list: {}, object_list: {"PikaStdData": ObjectInfo { class_name: "PikaMain", name: "PikaStdData", import_class_name: "PikaStdData" }, "PikaStdLib": ObjectInfo { class_name: "PikaMain", name: "PikaStdLib", import_class_name: "PikaStdLib" }}, import_list: {}, script_list: Script { content: "@BEGIN@import PikaStdLib@END@@BEGIN@import PikaStdData@END@@BEGIN@@END@@BEGIN@mem = PikaStdLib.MemChecker()@END@@BEGIN@mem.resetMax()@END@@BEGIN@def EXPECT_EQ(test_name, input, expected):@END@@BEGIN@ print('-----TEST-----')@END@@BEGIN@ print(test_name)@END@@BEGIN@ if input != expected:@END@@BEGIN@ print('[Error]')@END@@BEGIN@ print(test_name)@END@@BEGIN@ print('[info] Expected:')@END@@BEGIN@ print(expected)@END@@BEGIN@ print('[info] Input:')@END@@BEGIN@ print(input)@END@@BEGIN@ # error@END@@BEGIN@ while True:@END@@BEGIN@ is_error = 1@END@@BEGIN@ else:@END@@BEGIN@ print('[ OK ]')@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ continue@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_continue', a, 40)@END@@BEGIN@ @END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ break@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_break', a, 10)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ for k in range(0, 3):@END@@BEGIN@ # print(k)@END@@BEGIN@ a = a + k@END@@BEGIN@EXPECT_EQ('for_for_in_range', a, 30)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ # print(i)@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_in_range', a, 45)@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@for item in list:@END@@BEGIN@ # print(item)@END@@BEGIN@ a = item@END@@BEGIN@EXPECT_EQ('list_for_loop', a, 'eee')@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@a1 = list.get(0)@END@@BEGIN@a2 = list.get(1)@END@@BEGIN@res = iter(list)@END@@BEGIN@EXPECT_EQ('iter', res, list)@END@@BEGIN@@END@@BEGIN@dict = PikaStdData.Dict()@END@@BEGIN@dict.set('a', 1)@END@@BEGIN@dict.set('b', 2)@END@@BEGIN@dict.remove('b')@END@@BEGIN@a = dict.get('a')@END@@BEGIN@b = dict.get('b')@END@@BEGIN@EXPECT_EQ('PikaStdData', a, 1)@END@@BEGIN@EXPECT_EQ('PikaStdData_2', b, 0)@END@@BEGIN@@END@@BEGIN@num = 0@END@@BEGIN@i = 2@END@@BEGIN@for i in range(2,30):@END@@BEGIN@ j=2@END@@BEGIN@ is_prime = 1@END@@BEGIN@ for j in range(2,i):@END@@BEGIN@ if i%j==0 :@END@@BEGIN@ is_prime = 0@END@@BEGIN@ break@END@@BEGIN@ if is_prime:@END@@BEGIN@ num = num + i@END@@BEGIN@EXPECT_EQ('prime_number_30', num, 129)@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print('====================')@END@@BEGIN@print('[Unit Tests Succeed]')@END@@BEGIN@print('====================')@END@@BEGIN@print('mem used max:')@END@@BEGIN@mem.max()@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print(\"test\\r\\n\\r\\n\")@END@@BEGIN@print(\"end\\r\\n\")@END@" }, is_package: false }, "PikaStdData": ClassInfo { this_class_name: "PikaStdData", this_class_name_without_file: "PikaStdData", super_class_name: "TinyObj", method_list: {"ByteArray": MethodInfo { class_name: "PikaStdData", name: "ByteArray", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Dict": MethodInfo { class_name: "PikaStdData", name: "Dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "List": MethodInfo { class_name: "PikaStdData", name: "List", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "String": MethodInfo { class_name: "PikaStdData", name: "String", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdData_ByteArray": ClassInfo { this_class_name: "PikaStdData_ByteArray", this_class_name_without_file: "ByteArray", super_class_name: "PikaStdData_List", method_list: {"fromString": MethodInfo { class_name: "PikaStdData_ByteArray", name: "fromString", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Dict": ClassInfo { this_class_name: "PikaStdData_Dict", this_class_name_without_file: "Dict", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_Dict", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_Dict", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_Dict", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_Dict", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_Dict", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_Dict", name: "get", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdData_Dict", name: "remove", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_Dict", name: "set", arg_list: Some(ArgList { py_arg_list: "key:str,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_List": ClassInfo { this_class_name: "PikaStdData_List", this_class_name_without_file: "List", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_List", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_List", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_List", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_List", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_List", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "append": MethodInfo { class_name: "PikaStdData_List", name: "append", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_List", name: "get", arg_list: Some(ArgList { py_arg_list: "i:int", list: {"i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdData_List", name: "len", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_List", name: "set", arg_list: Some(ArgList { py_arg_list: "i:int,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_String": ClassInfo { this_class_name: "PikaStdData_String", this_class_name_without_file: "String", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_String", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_String", name: "__init__", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_String", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_String", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_String", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_String", name: "get", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_String", name: "set", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib": ClassInfo { this_class_name: "PikaStdLib", this_class_name_without_file: "PikaStdLib", super_class_name: "TinyObj", method_list: {"MemChecker": MethodInfo { class_name: "PikaStdLib", name: "MemChecker", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "PikaObj": MethodInfo { class_name: "PikaStdLib", name: "PikaObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "RangeObj": MethodInfo { class_name: "PikaStdLib", name: "RangeObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "StringObj": MethodInfo { class_name: "PikaStdLib", name: "StringObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "SysObj": MethodInfo { class_name: "PikaStdLib", name: "SysObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdLib_MemChecker": ClassInfo { this_class_name: "PikaStdLib_MemChecker", this_class_name_without_file: "MemChecker", super_class_name: "TinyObj", method_list: {"getMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getMax", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "getNow": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getNow", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "max": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "max", arg_list: None, return_type: None, is_constructor: false }, "now": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "now", arg_list: None, return_type: None, is_constructor: false }, "resetMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "resetMax", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_PikaObj": ClassInfo { this_class_name: "PikaStdLib_PikaObj", this_class_name_without_file: "PikaObj", super_class_name: "TinyObj", method_list: {}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_RangeObj": ClassInfo { this_class_name: "PikaStdLib_RangeObj", this_class_name_without_file: "RangeObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_RangeObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_StringObj": ClassInfo { this_class_name: "PikaStdLib_StringObj", this_class_name_without_file: "StringObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_StringObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_SysObj": ClassInfo { this_class_name: "PikaStdLib_SysObj", this_class_name_without_file: "SysObj", super_class_name: "BaseObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__get__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__set__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any,val:any,obj_str:str", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "obj_str": PyArg { py_type: PyType { type_name: "str" }, name: "obj_str" }, "val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "dict": MethodInfo { class_name: "PikaStdLib_SysObj", name: "dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "float": MethodInfo { class_name: "PikaStdLib_SysObj", name: "float", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "int": MethodInfo { class_name: "PikaStdLib_SysObj", name: "int", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "iter": MethodInfo { class_name: "PikaStdLib_SysObj", name: "iter", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdLib_SysObj", name: "len", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "list": MethodInfo { class_name: "PikaStdLib_SysObj", name: "list", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "range": MethodInfo { class_name: "PikaStdLib_SysObj", name: "range", arg_list: Some(ArgList { py_arg_list: "a1:int,a2:int", list: {"a1": PyArg { py_type: PyType { type_name: "int" }, name: "a1" }, "a2": PyArg { py_type: PyType { type_name: "int" }, name: "a2" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdLib_SysObj", name: "remove", arg_list: Some(ArgList { py_arg_list: "argPath:str", list: {"argPath": PyArg { py_type: PyType { type_name: "str" }, name: "argPath" }} }), return_type: None, is_constructor: false }, "str": MethodInfo { class_name: "PikaStdLib_SysObj", name: "str", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "type": MethodInfo { class_name: "PikaStdLib_SysObj", name: "type", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdTask": ClassInfo { this_class_name: "PikaStdTask", this_class_name_without_file: "PikaStdTask", super_class_name: "TinyObj", method_list: {"Task": MethodInfo { class_name: "PikaStdTask", name: "Task", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdTask_Task": ClassInfo { this_class_name: "PikaStdTask_Task", this_class_name_without_file: "Task", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaStdTask_Task", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "call_always": MethodInfo { class_name: "PikaStdTask_Task", name: "call_always", arg_list: Some(ArgList { py_arg_list: "fun_todo:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }} }), return_type: None, is_constructor: false }, "call_period_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "call_period_ms", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,period_ms:int", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "period_ms": PyArg { py_type: PyType { type_name: "int" }, name: "period_ms" }} }), return_type: None, is_constructor: false }, "call_when": MethodInfo { class_name: "PikaStdTask_Task", name: "call_when", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,fun_when:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "fun_when": PyArg { py_type: PyType { type_name: "any" }, name: "fun_when" }} }), return_type: None, is_constructor: false }, "platformGetTick": MethodInfo { class_name: "PikaStdTask_Task", name: "platformGetTick", arg_list: None, return_type: None, is_constructor: false }, "run_forever": MethodInfo { class_name: "PikaStdTask_Task", name: "run_forever", arg_list: None, return_type: None, is_constructor: false }, "run_once": MethodInfo { class_name: "PikaStdTask_Task", name: "run_once", arg_list: None, return_type: None, is_constructor: false }, "run_until_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "run_until_ms", arg_list: Some(ArgList { py_arg_list: "until_ms:int", list: {"until_ms": PyArg { py_type: PyType { type_name: "int" }, name: "until_ms" }} }), return_type: None, is_constructor: false }}, object_list: {"calls": ObjectInfo { class_name: "PikaStdTask_Task", name: "calls", import_class_name: "PikaStdData_List" }}, import_list: {}, script_list: Script { content: "" }, is_package: false }}, class_now_name: Some("PikaDebug_Debuger"), package_now_name: Some("PikaDebug"), compiled_list: ["main", "PikaStdLib", "PikaStdData", "PikaStdTask", "PikaStdData", "PikaStdData", "PikaDebug"] } \ No newline at end of file +Compiler { dist_path: "pikascript-api/", source_path: "", class_list: {"PikaDebug": ClassInfo { this_class_name: "PikaDebug", this_class_name_without_file: "PikaDebug", super_class_name: "TinyObj", method_list: {"Debuger": MethodInfo { class_name: "PikaDebug", name: "Debuger", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaDebug_Debuger": ClassInfo { this_class_name: "PikaDebug_Debuger", this_class_name_without_file: "Debuger", super_class_name: "TinyObj", method_list: {"__init__": MethodInfo { class_name: "PikaDebug_Debuger", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "set_trace": MethodInfo { class_name: "PikaDebug_Debuger", name: "set_trace", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaMain": ClassInfo { this_class_name: "PikaMain", this_class_name_without_file: "PikaMain", super_class_name: "PikaStdLib_SysObj", method_list: {}, object_list: {"PikaStdData": ObjectInfo { class_name: "PikaMain", name: "PikaStdData", import_class_name: "PikaStdData" }, "PikaStdLib": ObjectInfo { class_name: "PikaMain", name: "PikaStdLib", import_class_name: "PikaStdLib" }}, import_list: {}, script_list: Script { content: "@BEGIN@import PikaStdLib@END@@BEGIN@import PikaStdData@END@@BEGIN@@END@@BEGIN@mem = PikaStdLib.MemChecker()@END@@BEGIN@mem.resetMax()@END@@BEGIN@def EXPECT_EQ(test_name, input, expected):@END@@BEGIN@ print('-----TEST-----')@END@@BEGIN@ print(test_name)@END@@BEGIN@ if input != expected:@END@@BEGIN@ print('[Error]')@END@@BEGIN@ print(test_name)@END@@BEGIN@ print('[info] Expected:')@END@@BEGIN@ print(expected)@END@@BEGIN@ print('[info] Input:')@END@@BEGIN@ print(input)@END@@BEGIN@ # error@END@@BEGIN@ while True:@END@@BEGIN@ is_error = 1@END@@BEGIN@ else:@END@@BEGIN@ print('[ OK ]')@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ continue@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_continue', a, 40)@END@@BEGIN@ @END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ if i == 5:@END@@BEGIN@ break@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_if_break', a, 10)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ for k in range(0, 3):@END@@BEGIN@ # print(k)@END@@BEGIN@ a = a + k@END@@BEGIN@EXPECT_EQ('for_for_in_range', a, 30)@END@@BEGIN@@END@@BEGIN@a = 0@END@@BEGIN@for i in range(0, 10):@END@@BEGIN@ # print(i)@END@@BEGIN@ a = a + i@END@@BEGIN@EXPECT_EQ('for_in_range', a, 45)@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@for item in list:@END@@BEGIN@ # print(item)@END@@BEGIN@ a = item@END@@BEGIN@EXPECT_EQ('list_for_loop', a, 'eee')@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@list = PikaStdData.List()@END@@BEGIN@list.append(7)@END@@BEGIN@list.append('eee')@END@@BEGIN@len = list.len()@END@@BEGIN@a1 = list.get(0)@END@@BEGIN@a2 = list.get(1)@END@@BEGIN@res = iter(list)@END@@BEGIN@EXPECT_EQ('iter', res, list)@END@@BEGIN@@END@@BEGIN@dict = PikaStdData.Dict()@END@@BEGIN@dict.set('a', 1)@END@@BEGIN@dict.set('b', 2)@END@@BEGIN@dict.remove('b')@END@@BEGIN@a = dict.get('a')@END@@BEGIN@b = dict.get('b')@END@@BEGIN@EXPECT_EQ('PikaStdData', a, 1)@END@@BEGIN@EXPECT_EQ('PikaStdData_2', b, 0)@END@@BEGIN@@END@@BEGIN@num = 0@END@@BEGIN@i = 2@END@@BEGIN@for i in range(2,30):@END@@BEGIN@ j=2@END@@BEGIN@ is_prime = 1@END@@BEGIN@ for j in range(2,i):@END@@BEGIN@ if i%j==0 :@END@@BEGIN@ is_prime = 0@END@@BEGIN@ break@END@@BEGIN@ if is_prime:@END@@BEGIN@ num = num + i@END@@BEGIN@EXPECT_EQ('prime_number_30', num, 129)@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print('====================')@END@@BEGIN@print('[Unit Tests Succeed]')@END@@BEGIN@print('====================')@END@@BEGIN@print('mem used max:')@END@@BEGIN@mem.max()@END@@BEGIN@@END@@BEGIN@@END@@BEGIN@print(\"test\\r\\n\\r\\n\")@END@@BEGIN@print(\"end\\r\\n\")@END@" }, is_package: false }, "PikaStdData": ClassInfo { this_class_name: "PikaStdData", this_class_name_without_file: "PikaStdData", super_class_name: "TinyObj", method_list: {"ByteArray": MethodInfo { class_name: "PikaStdData", name: "ByteArray", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Dict": MethodInfo { class_name: "PikaStdData", name: "Dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "List": MethodInfo { class_name: "PikaStdData", name: "List", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "String": MethodInfo { class_name: "PikaStdData", name: "String", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "Utils": MethodInfo { class_name: "PikaStdData", name: "Utils", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "dict_keys": MethodInfo { class_name: "PikaStdData", name: "dict_keys", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdData_ByteArray": ClassInfo { this_class_name: "PikaStdData_ByteArray", this_class_name_without_file: "ByteArray", super_class_name: "PikaStdData_List", method_list: {"fromString": MethodInfo { class_name: "PikaStdData_ByteArray", name: "fromString", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Dict": ClassInfo { this_class_name: "PikaStdData_Dict", this_class_name_without_file: "Dict", super_class_name: "TinyObj", method_list: {"__del__": MethodInfo { class_name: "PikaStdData_Dict", name: "__del__", arg_list: None, return_type: None, is_constructor: false }, "__get__": MethodInfo { class_name: "PikaStdData_Dict", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_Dict", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_Dict", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_Dict", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_Dict", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_Dict", name: "get", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "keys": MethodInfo { class_name: "PikaStdData_Dict", name: "keys", arg_list: None, return_type: Some(PyType { type_name: "dict_keys" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdData_Dict", name: "remove", arg_list: Some(ArgList { py_arg_list: "key:str", list: {"key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_Dict", name: "set", arg_list: Some(ArgList { py_arg_list: "key:str,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "key": PyArg { py_type: PyType { type_name: "str" }, name: "key" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_List": ClassInfo { this_class_name: "PikaStdData_List", this_class_name_without_file: "List", super_class_name: "TinyObj", method_list: {"__del__": MethodInfo { class_name: "PikaStdData_List", name: "__del__", arg_list: None, return_type: None, is_constructor: false }, "__get__": MethodInfo { class_name: "PikaStdData_List", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_List", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_List", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_List", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_List", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "append": MethodInfo { class_name: "PikaStdData_List", name: "append", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_List", name: "get", arg_list: Some(ArgList { py_arg_list: "i:int", list: {"i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdData_List", name: "len", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_List", name: "set", arg_list: Some(ArgList { py_arg_list: "i:int,arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }, "i": PyArg { py_type: PyType { type_name: "int" }, name: "i" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_String": ClassInfo { this_class_name: "PikaStdData_String", this_class_name_without_file: "String", super_class_name: "TinyObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdData_String", name: "__get__", arg_list: Some(ArgList { py_arg_list: "__key:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__init__": MethodInfo { class_name: "PikaStdData_String", name: "__init__", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "__iter__": MethodInfo { class_name: "PikaStdData_String", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_String", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdData_String", name: "__set__", arg_list: Some(ArgList { py_arg_list: "__key:any,__val:any", list: {"__key": PyArg { py_type: PyType { type_name: "any" }, name: "__key" }, "__val": PyArg { py_type: PyType { type_name: "any" }, name: "__val" }} }), return_type: None, is_constructor: false }, "__str__": MethodInfo { class_name: "PikaStdData_String", name: "__str__", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "endwith": MethodInfo { class_name: "PikaStdData_String", name: "endwith", arg_list: Some(ArgList { py_arg_list: "suffix:str", list: {"suffix": PyArg { py_type: PyType { type_name: "str" }, name: "suffix" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "get": MethodInfo { class_name: "PikaStdData_String", name: "get", arg_list: None, return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "isalnum": MethodInfo { class_name: "PikaStdData_String", name: "isalnum", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isalpha": MethodInfo { class_name: "PikaStdData_String", name: "isalpha", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isdigit": MethodInfo { class_name: "PikaStdData_String", name: "isdigit", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "islower": MethodInfo { class_name: "PikaStdData_String", name: "islower", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "isspace": MethodInfo { class_name: "PikaStdData_String", name: "isspace", arg_list: None, return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "set": MethodInfo { class_name: "PikaStdData_String", name: "set", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: None, is_constructor: false }, "split": MethodInfo { class_name: "PikaStdData_String", name: "split", arg_list: Some(ArgList { py_arg_list: "s:str", list: {"s": PyArg { py_type: PyType { type_name: "str" }, name: "s" }} }), return_type: Some(PyType { type_name: "List" }), is_constructor: false }, "startwith": MethodInfo { class_name: "PikaStdData_String", name: "startwith", arg_list: Some(ArgList { py_arg_list: "prefix:str", list: {"prefix": PyArg { py_type: PyType { type_name: "str" }, name: "prefix" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_Utils": ClassInfo { this_class_name: "PikaStdData_Utils", this_class_name_without_file: "Utils", super_class_name: "TinyObj", method_list: {"int_to_bytes": MethodInfo { class_name: "PikaStdData_Utils", name: "int_to_bytes", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "bytes" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdData_dict_keys": ClassInfo { this_class_name: "PikaStdData_dict_keys", this_class_name_without_file: "dict_keys", super_class_name: "TinyObj", method_list: {"__iter__": MethodInfo { class_name: "PikaStdData_dict_keys", name: "__iter__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__next__": MethodInfo { class_name: "PikaStdData_dict_keys", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib": ClassInfo { this_class_name: "PikaStdLib", this_class_name_without_file: "PikaStdLib", super_class_name: "TinyObj", method_list: {"MemChecker": MethodInfo { class_name: "PikaStdLib", name: "MemChecker", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "PikaObj": MethodInfo { class_name: "PikaStdLib", name: "PikaObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "RangeObj": MethodInfo { class_name: "PikaStdLib", name: "RangeObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "StringObj": MethodInfo { class_name: "PikaStdLib", name: "StringObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }, "SysObj": MethodInfo { class_name: "PikaStdLib", name: "SysObj", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdLib_MemChecker": ClassInfo { this_class_name: "PikaStdLib_MemChecker", this_class_name_without_file: "MemChecker", super_class_name: "TinyObj", method_list: {"getMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getMax", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "getNow": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "getNow", arg_list: None, return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "max": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "max", arg_list: None, return_type: None, is_constructor: false }, "now": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "now", arg_list: None, return_type: None, is_constructor: false }, "resetMax": MethodInfo { class_name: "PikaStdLib_MemChecker", name: "resetMax", arg_list: None, return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_PikaObj": ClassInfo { this_class_name: "PikaStdLib_PikaObj", this_class_name_without_file: "PikaObj", super_class_name: "TinyObj", method_list: {}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_RangeObj": ClassInfo { this_class_name: "PikaStdLib_RangeObj", this_class_name_without_file: "RangeObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_RangeObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_StringObj": ClassInfo { this_class_name: "PikaStdLib_StringObj", this_class_name_without_file: "StringObj", super_class_name: "TinyObj", method_list: {"__next__": MethodInfo { class_name: "PikaStdLib_StringObj", name: "__next__", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdLib_SysObj": ClassInfo { this_class_name: "PikaStdLib_SysObj", this_class_name_without_file: "SysObj", super_class_name: "BaseObj", method_list: {"__get__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__get__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "__set__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__set__", arg_list: Some(ArgList { py_arg_list: "obj:any,key:any,val:any,obj_str:str", list: {"key": PyArg { py_type: PyType { type_name: "any" }, name: "key" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "obj_str": PyArg { py_type: PyType { type_name: "str" }, name: "obj_str" }, "val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "__slice__": MethodInfo { class_name: "PikaStdLib_SysObj", name: "__slice__", arg_list: Some(ArgList { py_arg_list: "obj:any,start:any,end:any,step:int", list: {"end": PyArg { py_type: PyType { type_name: "any" }, name: "end" }, "obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }, "start": PyArg { py_type: PyType { type_name: "any" }, name: "start" }, "step": PyArg { py_type: PyType { type_name: "int" }, name: "step" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "bytes": MethodInfo { class_name: "PikaStdLib_SysObj", name: "bytes", arg_list: Some(ArgList { py_arg_list: "val:any", list: {"val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: Some(PyType { type_name: "bytes" }), is_constructor: false }, "cformat": MethodInfo { class_name: "PikaStdLib_SysObj", name: "cformat", arg_list: Some(ArgList { py_arg_list: "fmt:str,*var", list: {"fmt": PyArg { py_type: PyType { type_name: "str" }, name: "fmt" }, "var": PyArg { py_type: PyType { type_name: "@tupleVarPar" }, name: "var" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "chr": MethodInfo { class_name: "PikaStdLib_SysObj", name: "chr", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "dict": MethodInfo { class_name: "PikaStdLib_SysObj", name: "dict", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "float": MethodInfo { class_name: "PikaStdLib_SysObj", name: "float", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "float" }), is_constructor: false }, "hex": MethodInfo { class_name: "PikaStdLib_SysObj", name: "hex", arg_list: Some(ArgList { py_arg_list: "val:int", list: {"val": PyArg { py_type: PyType { type_name: "int" }, name: "val" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "id": MethodInfo { class_name: "PikaStdLib_SysObj", name: "id", arg_list: Some(ArgList { py_arg_list: "obj:any", list: {"obj": PyArg { py_type: PyType { type_name: "any" }, name: "obj" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "int": MethodInfo { class_name: "PikaStdLib_SysObj", name: "int", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "iter": MethodInfo { class_name: "PikaStdLib_SysObj", name: "iter", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "len": MethodInfo { class_name: "PikaStdLib_SysObj", name: "len", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "list": MethodInfo { class_name: "PikaStdLib_SysObj", name: "list", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "ord": MethodInfo { class_name: "PikaStdLib_SysObj", name: "ord", arg_list: Some(ArgList { py_arg_list: "val:str", list: {"val": PyArg { py_type: PyType { type_name: "str" }, name: "val" }} }), return_type: Some(PyType { type_name: "int" }), is_constructor: false }, "print": MethodInfo { class_name: "PikaStdLib_SysObj", name: "print", arg_list: Some(ArgList { py_arg_list: "*val", list: {"val": PyArg { py_type: PyType { type_name: "@tupleVarPar" }, name: "val" }} }), return_type: None, is_constructor: false }, "printNoEnd": MethodInfo { class_name: "PikaStdLib_SysObj", name: "printNoEnd", arg_list: Some(ArgList { py_arg_list: "val:any", list: {"val": PyArg { py_type: PyType { type_name: "any" }, name: "val" }} }), return_type: None, is_constructor: false }, "range": MethodInfo { class_name: "PikaStdLib_SysObj", name: "range", arg_list: Some(ArgList { py_arg_list: "a1:int,a2:int", list: {"a1": PyArg { py_type: PyType { type_name: "int" }, name: "a1" }, "a2": PyArg { py_type: PyType { type_name: "int" }, name: "a2" }} }), return_type: Some(PyType { type_name: "any" }), is_constructor: false }, "remove": MethodInfo { class_name: "PikaStdLib_SysObj", name: "remove", arg_list: Some(ArgList { py_arg_list: "argPath:str", list: {"argPath": PyArg { py_type: PyType { type_name: "str" }, name: "argPath" }} }), return_type: None, is_constructor: false }, "str": MethodInfo { class_name: "PikaStdLib_SysObj", name: "str", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: Some(PyType { type_name: "str" }), is_constructor: false }, "type": MethodInfo { class_name: "PikaStdLib_SysObj", name: "type", arg_list: Some(ArgList { py_arg_list: "arg:any", list: {"arg": PyArg { py_type: PyType { type_name: "any" }, name: "arg" }} }), return_type: None, is_constructor: false }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: false }, "PikaStdTask": ClassInfo { this_class_name: "PikaStdTask", this_class_name_without_file: "PikaStdTask", super_class_name: "TinyObj", method_list: {"Task": MethodInfo { class_name: "PikaStdTask", name: "Task", arg_list: None, return_type: Some(PyType { type_name: "any" }), is_constructor: true }}, object_list: {}, import_list: {}, script_list: Script { content: "" }, is_package: true }, "PikaStdTask_Task": ClassInfo { this_class_name: "PikaStdTask_Task", this_class_name_without_file: "Task", super_class_name: "PikaStdLib_SysObj", method_list: {"__init__": MethodInfo { class_name: "PikaStdTask_Task", name: "__init__", arg_list: None, return_type: None, is_constructor: false }, "call_always": MethodInfo { class_name: "PikaStdTask_Task", name: "call_always", arg_list: Some(ArgList { py_arg_list: "fun_todo:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }} }), return_type: None, is_constructor: false }, "call_period_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "call_period_ms", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,period_ms:int", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "period_ms": PyArg { py_type: PyType { type_name: "int" }, name: "period_ms" }} }), return_type: None, is_constructor: false }, "call_when": MethodInfo { class_name: "PikaStdTask_Task", name: "call_when", arg_list: Some(ArgList { py_arg_list: "fun_todo:any,fun_when:any", list: {"fun_todo": PyArg { py_type: PyType { type_name: "any" }, name: "fun_todo" }, "fun_when": PyArg { py_type: PyType { type_name: "any" }, name: "fun_when" }} }), return_type: None, is_constructor: false }, "platformGetTick": MethodInfo { class_name: "PikaStdTask_Task", name: "platformGetTick", arg_list: None, return_type: None, is_constructor: false }, "run_forever": MethodInfo { class_name: "PikaStdTask_Task", name: "run_forever", arg_list: None, return_type: None, is_constructor: false }, "run_once": MethodInfo { class_name: "PikaStdTask_Task", name: "run_once", arg_list: None, return_type: None, is_constructor: false }, "run_until_ms": MethodInfo { class_name: "PikaStdTask_Task", name: "run_until_ms", arg_list: Some(ArgList { py_arg_list: "until_ms:int", list: {"until_ms": PyArg { py_type: PyType { type_name: "int" }, name: "until_ms" }} }), return_type: None, is_constructor: false }}, object_list: {"calls": ObjectInfo { class_name: "PikaStdTask_Task", name: "calls", import_class_name: "PikaStdData_List" }}, import_list: {}, script_list: Script { content: "" }, is_package: false }}, class_now_name: Some("PikaDebug_Debuger"), package_now_name: Some("PikaDebug"), compiled_list: ["main", "PikaStdLib", "PikaStdData", "PikaStdTask", "PikaStdData", "PikaStdLib", "PikaStdData", "PikaDebug"] } \ No newline at end of file diff --git a/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a index cb6cdeee7..c6da76dc0 100644 Binary files a/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a and b/bsp/pico-dev/pikascript/pikascript-api/pikaModules.py.a differ diff --git a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe index e83302f9b..cc503e1f2 100644 Binary files a/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe and b/bsp/pico-dev/pikascript/rust-msc-latest-win10.exe differ