Files
mixly3/boards/default/micropython_esp32/main.bundle.js
2024-07-19 22:31:02 +08:00

21 lines
1.4 MiB
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(()=>{"use strict";var _={d:(t,e)=>{for(var i in e)_.o(e,i)&&!_.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(_,t)=>Object.prototype.hasOwnProperty.call(_,t),r:_=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})}},t={};_.r(t),_.d(t,{controls_type:()=>d_,controls_typeLists:()=>h_,variables_change:()=>P_,variables_get:()=>l_,variables_global:()=>N_,variables_set:()=>A_});var e={};_.r(e),_.d(e,{base_setup:()=>C_,controls_delay:()=>c_,controls_end_program:()=>H_,controls_except:()=>X_,controls_finally:()=>V_,controls_flow_statements:()=>G_,controls_for:()=>F_,controls_forEach:()=>U_,controls_for_range:()=>y_,controls_if:()=>D_,controls_if_else:()=>x_,controls_if_elseif:()=>b_,controls_if_if:()=>f_,controls_lambda:()=>w_,controls_main:()=>m_,controls_pass:()=>W_,controls_range:()=>Y_,controls_repeat_ext:()=>k_,controls_thread:()=>K_,controls_try:()=>v_,controls_try_finally:()=>g_,controls_whileUntil:()=>B_,do_while:()=>z_});var i={};_.r(i),_.d(i,{base_map:()=>Lt,math_arithmetic:()=>j_,math_bit:()=>_t,math_constant:()=>J_,math_constant_mp:()=>q_,math_constrain:()=>ot,math_dec:()=>et,math_indexer_number:()=>Ot,math_map:()=>st,math_max_min:()=>Tt,math_number:()=>Q_,math_number_base_conversion:()=>Et,math_random:()=>nt,math_random_seed:()=>It,math_round:()=>at,math_selfcalcu:()=>$_,math_to_int:()=>it,math_trig:()=>tt,text_to_number:()=>pt,text_to_number_skulpt:()=>Mt});var T={};_.r(T),_.d(T,{ascii_to_char:()=>Pt,char_to_ascii:()=>Nt,number_to_text:()=>dt,os_system:()=>zt,text:()=>rt,text_capital:()=>Ut,text_center:()=>Bt,text_char:()=>lt,text_char_at:()=>mt,text_char_at2:()=>ut,text_char_at3:()=>kt,text_compareTo:()=>Vt,text_compare_to:()=>Yt,text_create_with_container:()=>xt,text_create_with_item:()=>vt,text_encode:()=>Wt,text_equals_starts_ends:()=>Dt,text_eval:()=>Kt,text_find:()=>gt,text_format:()=>bt,text_format_noreturn:()=>wt,text_join:()=>At,text_join_seq:()=>Gt,text_length:()=>ht,text_random_char:()=>Ct,text_replace:()=>Ft,text_split:()=>yt,text_strip:()=>ft,text_substring:()=>Ht,text_substring2:()=>ct,text_substring3:()=>Xt,text_textarea:()=>St});var E={};_.r(E),_.d(E,{list_many_input:()=>re,list_tolist:()=>he,list_tolist2:()=>Ue,list_trig:()=>Me,lists_2d_get_col_row_data:()=>jt,lists_2d_get_data_with_col_row:()=>qt,lists_append_extend:()=>Te,lists_change_to:()=>Re,lists_change_to_general:()=>le,lists_clear:()=>Oe,lists_create_with:()=>$t,lists_create_with2:()=>ue,lists_create_with_container:()=>te,lists_create_with_item:()=>ee,lists_create_with_noreturn:()=>Se,lists_create_with_text:()=>_e,lists_create_with_text2:()=>me,lists_del_general:()=>Ae,lists_find:()=>pe,lists_getIndex3:()=>Ce,lists_getSublist3:()=>ce,lists_get_index:()=>Qt,lists_get_random_item:()=>Ee,lists_get_random_sublist:()=>ne,lists_get_sublist:()=>Jt,lists_insert_value:()=>oe,lists_insert_value2:()=>De,lists_pop:()=>ae,lists_remove_at:()=>Ie,lists_remove_at2:()=>Ye,lists_reverse:()=>se,lists_setIndex3:()=>He,lists_set_index:()=>ie,lists_sort:()=>Le,lists_zip:()=>Pe,lists_zip_container:()=>Ne,lists_zip_item:()=>de});var n={};_.r(n),_.d(n,{dicts_add_change_del:()=>ze,dicts_add_or_change:()=>xe,dicts_clear:()=>Ve,dicts_create_with:()=>ge,dicts_create_with_container:()=>Ge,dicts_create_with_item:()=>Fe,dicts_create_with_noreturn:()=>Je,dicts_deldict:()=>Ke,dicts_delete:()=>ve,dicts_get:()=>fe,dicts_get_default:()=>be,dicts_items:()=>ke,dicts_keys:()=>ye,dicts_length:()=>We,dicts_pop:()=>Ze,dicts_setdefault:()=>Qe,dicts_to_json:()=>je,dicts_todict:()=>qe,dicts_update:()=>Xe,dicts_values:()=>we,json_to_dicts:()=>$e});var o={};_.r(o),_.d(o,{logic_boolean:()=>Ei,logic_compare:()=>ti,logic_compare_continous:()=>ei,logic_is:()=>Oi,logic_is_in:()=>si,logic_negate:()=>Ti,logic_null:()=>ni,logic_operation:()=>ii,logic_tobool:()=>Ii,logic_true_or_false:()=>oi});var s={};_.r(s),_.d(s,{sdcard_mount:()=>gi,sdcard_use_spi_init:()=>Bi,storage_can_write_ornot:()=>Ai,storage_change_dir:()=>Yi,storage_close_file:()=>Ni,storage_delete_file:()=>hi,storage_file_seek:()=>Ci,storage_file_tell:()=>mi,storage_file_write:()=>Ri,storage_fileopen:()=>pi,storage_fileopen_new:()=>Mi,storage_fileopen_new_encoding:()=>Li,storage_get_a_line:()=>li,storage_get_contents:()=>Si,storage_get_contents_without_para:()=>ri,storage_get_current_dir:()=>ci,storage_get_file_size:()=>ui,storage_get_filename:()=>Pi,storage_is_file:()=>Ui,storage_list_all_files:()=>di,storage_make_dir:()=>Hi,storage_open_file_with_os:()=>ai,storage_rename:()=>Di});var O={};_.r(O),_.d(O,{procedures_callnoreturn:()=>vi,procedures_callreturn:()=>Xi,procedures_defnoreturn:()=>yi,procedures_defreturn:()=>fi,procedures_ifreturn:()=>Vi,procedures_mutatorarg:()=>xi,procedures_mutatorcontainer:()=>bi,procedures_return:()=>ki});var I={};_.r(I),_.d(I,{tuple_change_to:()=>tT,tuple_create_with:()=>Wi,tuple_create_with_container:()=>Ki,tuple_create_with_item:()=>zi,tuple_create_with_noreturn:()=>ET,tuple_create_with_text2:()=>Zi,tuple_create_with_text_return:()=>Qi,tuple_del:()=>ji,tuple_find:()=>eT,tuple_getIndex:()=>Ji,tuple_getSublist:()=>TT,tuple_get_random_item:()=>oT,tuple_get_sublist:()=>nT,tuple_join:()=>$i,tuple_length:()=>qi,tuple_max:()=>_T,tuple_totuple:()=>sT,tuple_trig:()=>iT});var a={};_.r(a),_.d(a,{set_add_discard:()=>lT,set_clear:()=>RT,set_create_with:()=>IT,set_create_with_container:()=>aT,set_create_with_item:()=>pT,set_create_with_text_return:()=>NT,set_length:()=>MT,set_operate:()=>rT,set_operate_update:()=>ST,set_pop:()=>LT,set_sub:()=>AT,set_toset:()=>dT,set_update:()=>PT});var p={};_.r(p),_.d(p,{html_content:()=>cT,html_content_more:()=>HT,html_document:()=>uT,html_form:()=>YT,html_head_body:()=>CT,html_style:()=>DT,html_style_color:()=>BT,html_style_content:()=>UT,html_text:()=>gT,html_title:()=>mT});var M={};_.r(M),_.d(M,{attribute_access:()=>zT,function_call:()=>wT,function_call_container:()=>WT,function_call_item:()=>KT,raw_block:()=>yT,raw_empty:()=>bT,raw_expression:()=>fT,raw_table:()=>FT,text_comment:()=>xT,text_print_multiple:()=>XT,text_print_multiple_container:()=>VT,text_print_multiple_item:()=>kT,type_check:()=>vT});var L={};_.r(L),_.d(L,{controls_type:()=>jT,controls_typeLists:()=>$T,variables_change:()=>JT,variables_get:()=>ZT,variables_global:()=>qT,variables_set:()=>QT});var R={};_.r(R),_.d(R,{Panic_with_status_code:()=>OE,base_setup:()=>tE,controls_delay:()=>sE,controls_flow_statements:()=>oE,controls_for:()=>TE,controls_forEach:()=>LE,controls_for_range:()=>EE,controls_if:()=>eE,controls_interrupts:()=>pE,controls_lambda:()=>rE,controls_main:()=>_E,controls_millis:()=>IE,controls_nointerrupts:()=>ME,controls_pass:()=>lE,controls_range:()=>RE,controls_repeat:()=>dE,controls_repeat_ext:()=>NE,controls_thread:()=>AE,controls_try_finally:()=>iE,controls_whileUntil:()=>nE,do_while:()=>PE,reset:()=>aE,time_sleep:()=>SE});var r={};_.r(r),_.d(r,{base_map:()=>kE,math_arithmetic:()=>cE,math_bit:()=>CE,math_constant:()=>uE,math_constant_mp:()=>mE,math_constrain:()=>yE,math_dec:()=>UE,math_indexer_number:()=>xE,math_map:()=>FE,math_max_min:()=>gE,math_number:()=>hE,math_number_base_conversion:()=>fE,math_random:()=>GE,math_random_seed:()=>bE,math_round:()=>vE,math_selfcalcu:()=>HE,math_single:()=>DE,math_to_int:()=>BE,math_trig:()=>YE,text_to_number:()=>XE,text_to_number_skulpt:()=>VE});var S={};_.r(S),_.d(S,{ascii_to_char:()=>ZE,char_to_ascii:()=>QE,number_to_text:()=>JE,os_system:()=>Pn,text:()=>wE,text_capital:()=>nn,text_center:()=>on,text_char:()=>KE,text_char_at:()=>$E,text_char_at2:()=>jE,text_char_at3:()=>Sn,text_compareTo:()=>rn,text_compare_to:()=>en,text_encode:()=>ln,text_equals_starts_ends:()=>tn,text_eval:()=>An,text_find:()=>sn,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>zE,text_join_seq:()=>On,text_length:()=>qE,text_random_char:()=>_n,text_replace:()=>In,text_split:()=>an,text_strip:()=>pn,text_substring:()=>En,text_substring2:()=>Tn,text_substring3:()=>Rn,text_textarea:()=>WE});var l={};_.r(l),_.d(l,{list_many_input:()=>vn,list_tolist:()=>jn,list_tolist2:()=>$n,list_trig:()=>fn,lists_2d_get_col_row_data:()=>hn,lists_2d_get_data_with_col_row:()=>dn,lists_append_extend:()=>Hn,lists_change_to:()=>xn,lists_change_to_general:()=>Vn,lists_clear:()=>gn,lists_create_with:()=>un,lists_create_with2:()=>wn,lists_create_with_noreturn:()=>Xn,lists_create_with_text:()=>mn,lists_create_with_text2:()=>Wn,lists_del_general:()=>kn,lists_find:()=>Gn,lists_getIndex3:()=>Kn,lists_getSublist3:()=>zn,lists_get_index:()=>Cn,lists_get_random_item:()=>Dn,lists_get_random_sublist:()=>Yn,lists_get_sublist:()=>Nn,lists_insert_value:()=>Un,lists_insert_value2:()=>Qn,lists_pop:()=>yn,lists_remove_at:()=>Fn,lists_remove_at2:()=>Jn,lists_reverse:()=>Bn,lists_setIndex3:()=>Zn,lists_set_index:()=>cn,lists_sort:()=>bn,lists_zip:()=>qn});var A={};_.r(A),_.d(A,{dicts_add_change_del:()=>po,dicts_add_or_change:()=>To,dicts_clear:()=>oo,dicts_create_with:()=>_o,dicts_create_with_noreturn:()=>Ro,dicts_deldict:()=>ao,dicts_delete:()=>Eo,dicts_get:()=>eo,dicts_get_default:()=>io,dicts_items:()=>so,dicts_keys:()=>to,dicts_length:()=>Io,dicts_pop:()=>Mo,dicts_setdefault:()=>Lo,dicts_to_json:()=>So,dicts_todict:()=>ro,dicts_update:()=>no,dicts_values:()=>Oo,json_to_dicts:()=>lo});var P={};_.r(P),_.d(P,{logic_boolean:()=>uo,logic_compare:()=>Ao,logic_compare_continous:()=>Po,logic_is:()=>Ho,logic_is_in:()=>co,logic_negate:()=>ho,logic_null:()=>mo,logic_operation:()=>No,logic_tobool:()=>Do,logic_true_or_false:()=>Co});var N={};_.r(N),_.d(N,{sdcard_mount:()=>jo,sdcard_use_spi_init:()=>qo,storage_can_write_ornot:()=>bo,storage_change_dir:()=>Ko,storage_close_file:()=>vo,storage_delete_file:()=>Vo,storage_file_seek:()=>Wo,storage_file_tell:()=>wo,storage_file_write:()=>Go,storage_fileopen:()=>Uo,storage_fileopen_new:()=>Bo,storage_fileopen_new_encoding:()=>go,storage_get_a_line:()=>fo,storage_get_contents:()=>yo,storage_get_contents_without_para:()=>Fo,storage_get_current_dir:()=>zo,storage_get_file_size:()=>ko,storage_get_filename:()=>xo,storage_is_file:()=>Jo,storage_list_all_files:()=>Xo,storage_make_dir:()=>Zo,storage_open_file_with_os:()=>Yo,storage_rename:()=>Qo});var d={};_.r(d),_.d(d,{procedures_callnoreturn:()=>es,procedures_callreturn:()=>ts,procedures_defnoreturn:()=>_s,procedures_defreturn:()=>$o,procedures_ifreturn:()=>is,procedures_return:()=>Ts});var h={};_.r(h),_.d(h,{tuple_change_to:()=>Ms,tuple_create_with:()=>Es,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>ns,tuple_create_with_text_return:()=>os,tuple_del:()=>Is,tuple_find:()=>Ls,tuple_getIndex:()=>ss,tuple_getSublist:()=>rs,tuple_get_random_item:()=>As,tuple_get_sublist:()=>ls,tuple_join:()=>as,tuple_length:()=>Os,tuple_max:()=>ps,tuple_totuple:()=>Ps,tuple_trig:()=>Rs});var u={};_.r(u),_.d(u,{set_add_discard:()=>cs,set_clear:()=>us,set_create_with:()=>Ns,set_create_with_text_return:()=>Ys,set_length:()=>ds,set_operate:()=>ms,set_operate_update:()=>Cs,set_pop:()=>hs,set_sub:()=>Hs,set_toset:()=>Us,set_update:()=>Ds});var m={};_.r(m),_.d(m,{html_content:()=>Fs,html_content_more:()=>ys,html_document:()=>Bs,html_form:()=>bs,html_head_body:()=>Gs,html_style:()=>fs,html_style_content:()=>xs,html_text:()=>vs,html_title:()=>gs});var C={};_.r(C),_.d(C,{attribute_access:()=>zs,function_call:()=>Ks,raw_block:()=>Xs,raw_empty:()=>ks,raw_expression:()=>Vs,raw_table:()=>ws,type_check:()=>Ws});var c={};_.r(c),_.d(c,{actuator_extern_get_led_bright:()=>EO,actuator_extern_get_led_state:()=>nO,actuator_extern_led_bright:()=>TO,actuator_extern_led_brightness:()=>oO,actuator_ms32006_dcmotor:()=>rO,actuator_ms32006_init:()=>RO,actuator_ms32006_stepper:()=>SO,actuator_neopixel_init:()=>lO,actuator_neopixel_rgb:()=>AO,actuator_neopixel_rgb_all:()=>PO,actuator_neopixel_write:()=>NO,actuator_use_uart_init:()=>dO,esp32_music_get_tempo_extern:()=>tO,esp32_music_pitch:()=>qs,esp32_music_pitch_init:()=>Js,esp32_music_pitch_with_time:()=>js,esp32_music_play_list:()=>$s,esp32_music_reset_extern:()=>eO,esp32_music_set_tempo_extern:()=>_O,esp32_music_stop:()=>iO,mixbot_actuator_extern_get_addr:()=>vO,mixbot_actuator_extern_set_addr:()=>XO,mixbot_addr_extern:()=>cO,robot_led_extern:()=>UO,robot_led_extern_get_value:()=>BO,robot_motor_extern:()=>HO,robot_motor_extern_get_speed:()=>DO,robot_servo_extern_absolute_run:()=>yO,robot_servo_extern_get_status:()=>gO,robot_servo_extern_relative_continue:()=>xO,robot_servo_extern_relative_origin:()=>fO,robot_servo_extern_relative_run:()=>bO,robot_servo_extern_stop:()=>FO,robot_servo_extern_stop_mode:()=>GO,robot_traffic_light_extern:()=>YO,servo_get_angle:()=>MO,servo_get_speed:()=>LO,servo_init:()=>sO,servo_move:()=>OO,servo_set_angle:()=>aO,servo_set_speed:()=>pO,servo_speed_360:()=>IO,syn6288_builtin_voice:()=>mO,syn6288_get_voice:()=>uO,syn6288_set_voice:()=>hO,syn6288_tts_play:()=>CO});var H={};_.r(H),_.d(H,{actuator_dc_motor:()=>AI,actuator_dc_motor_stop:()=>PI,actuator_get_led_bright:()=>KO,actuator_get_led_state:()=>zO,actuator_led_bright:()=>WO,actuator_led_brightness:()=>ZO,actuator_mixbot_buzzer_on_off:()=>mI,actuator_mixgo_nova_mic_get:()=>YI,actuator_mixgo_nova_mic_set:()=>DI,actuator_mixgo_nova_onboard_music_pitch:()=>yI,actuator_mixgo_nova_onboard_music_stop:()=>fI,actuator_mixgo_nova_play_audio:()=>GI,actuator_mixgo_nova_play_online_audio:()=>FI,actuator_mixgo_nova_record_audio:()=>gI,actuator_mixgo_nova_voice_get:()=>BI,actuator_mixgo_nova_voice_set:()=>UI,actuator_mixgo_zero_led_color:()=>QO,actuator_onboard_neopixel_rgb:()=>tI,actuator_onboard_neopixel_rgb_all:()=>eI,actuator_onboard_neopixel_rgb_show_all_chase:()=>TI,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>iI,actuator_onboard_neopixel_write:()=>EI,actuator_rm_onboard_neopixel_rgb:()=>nI,actuator_rm_onboard_neopixel_rgb_all:()=>oI,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>sI,actuator_stepper_keep:()=>SI,actuator_stepper_stop:()=>lI,bitbot_motor:()=>HI,bitbot_move:()=>CI,bitbot_stop:()=>cI,cc_number:()=>_I,esp32_music_get_tempo:()=>II,esp32_music_reset:()=>aI,esp32_music_set_tempo:()=>OI,esp32_onboard_music_pitch:()=>pI,esp32_onboard_music_pitch_with_time:()=>MI,esp32_onboard_music_play_list:()=>RI,esp32_onboard_music_stop:()=>LI,get_power_output:()=>xI,ledswitch:()=>wO,mixbot_motor:()=>uI,mixbot_motor_status:()=>NI,mixbot_move:()=>dI,mixbot_stop:()=>hI,number:()=>kO,rm_actuator_get_led_bright:()=>qO,rm_actuator_get_led_state:()=>jO,rm_actuator_led_bright:()=>JO,rm_actuator_led_brightness:()=>$O,rm_motor:()=>rI,set_all_power_output:()=>vI,set_power_output:()=>bI});var D={};_.r(D),_.d(D,{ai_sensor_20object:()=>Pa,ai_sensor_ailocal_class:()=>Oa,ai_sensor_ailocal_class_result:()=>Ia,ai_sensor_ailocal_train:()=>sa,ai_sensor_asr_recognize:()=>Ra,ai_sensor_audio_play:()=>pa,ai_sensor_audio_record:()=>aa,ai_sensor_barcode:()=>ZI,ai_sensor_circle:()=>_a,ai_sensor_classifier_faces:()=>Aa,ai_sensor_color:()=>Ta,ai_sensor_color_chases:()=>oa,ai_sensor_color_chases_result:()=>na,ai_sensor_config:()=>KI,ai_sensor_face:()=>la,ai_sensor_find_20objects:()=>Na,ai_sensor_find_barcodes:()=>QI,ai_sensor_find_circles:()=>ta,ai_sensor_find_colors:()=>Ea,ai_sensor_find_licenseplates:()=>Sa,ai_sensor_find_lines:()=>$I,ai_sensor_find_qrcodes:()=>WI,ai_sensor_find_rects:()=>ia,ai_sensor_find_tags:()=>qI,ai_sensor_licenseplate:()=>ra,ai_sensor_line:()=>jI,ai_sensor_qrcode:()=>kI,ai_sensor_qrcode_lite:()=>wI,ai_sensor_rect:()=>ea,ai_sensor_rgb:()=>zI,ai_sensor_tag:()=>JI,ai_sensor_use_uart_init:()=>VI,ai_sensor_yolo_recognize:()=>Ma,ai_sensor_yolo_recognize_result:()=>La});var Y={};_.r(Y),_.d(Y,{MICROPYTHON_AI_Speech_asr:()=>ua,MICROPYTHON_AI_Speech_unit:()=>ha,MICROPYTHON_AI_client:()=>da});var U={};_.r(U),_.d(U,{mpython_blynk_app_data:()=>xa,mpython_blynk_app_notify:()=>Ba,mpython_blynk_email:()=>Fa,mpython_blynk_get_timers:()=>ya,mpython_blynk_on_connected:()=>Da,mpython_blynk_on_disconnected:()=>Ha,mpython_blynk_run:()=>Ua,mpython_blynk_sensor_data_to_app:()=>ba,mpython_blynk_set_property:()=>Ga,mpython_blynk_setup:()=>va,mpython_blynk_stop_timers:()=>ga,mpython_blynk_sync_virtual:()=>ca,mpython_blynk_terminal_widget_vpin:()=>Ca,mpython_blynktimer:()=>fa,mpython_blynktimer_run:()=>Ya});var B={};_.r(B),_.d(B,{communicate_bluetooth_central_init:()=>dp,communicate_bluetooth_connect:()=>Cp,communicate_bluetooth_disconnect:()=>cp,communicate_bluetooth_handle:()=>Bp,communicate_bluetooth_is_connected:()=>Dp,communicate_bluetooth_mac:()=>mp,communicate_bluetooth_peripheral_init:()=>hp,communicate_bluetooth_recv:()=>Yp,communicate_bluetooth_recv_only:()=>Up,communicate_bluetooth_scan:()=>up,communicate_bluetooth_send:()=>Hp,communicate_espnow_init:()=>gp,communicate_espnow_init_new:()=>Gp,communicate_i2c_available:()=>Tp,communicate_i2c_init:()=>wa,communicate_i2c_master_read:()=>ip,communicate_i2c_onboard:()=>Va,communicate_i2c_read:()=>Wa,communicate_i2c_scan:()=>za,communicate_i2c_write:()=>Ka,communicate_ir_recv_init:()=>pp,communicate_ir_send_init:()=>Sp,communicate_ow_init:()=>np,communicate_ow_read:()=>sp,communicate_ow_reset:()=>ap,communicate_ow_scan:()=>op,communicate_ow_select:()=>Ip,communicate_ow_write:()=>Op,communicate_spi_buffer:()=>Ja,communicate_spi_init:()=>Za,communicate_spi_onboard:()=>ka,communicate_spi_read:()=>qa,communicate_spi_read_output:()=>ja,communicate_spi_readinto:()=>$a,communicate_spi_readinto_output:()=>_p,communicate_spi_set:()=>Qa,communicate_spi_write:()=>tp,communicate_spi_write_readinto:()=>ep,espnow_radio_channel:()=>vp,espnow_radio_channel_new:()=>Vp,espnow_radio_on_off:()=>kp,espnow_radio_rec:()=>Wp,espnow_radio_recv:()=>zp,espnow_radio_recv_certain_msg:()=>Zp,espnow_radio_recv_certain_msg_new:()=>Jp,espnow_radio_recv_msg:()=>Kp,espnow_radio_recv_new:()=>Qp,espnow_radio_send:()=>wp,espnow_radio_txpower:()=>Xp,i2c_available:()=>lM,i2c_init:()=>TM,i2c_master_reader2:()=>SM,i2c_read:()=>EM,i2c_scan:()=>oM,i2c_slave_onreceive:()=>Ep,i2c_write:()=>nM,internal_variable:()=>Mp,ir_recv_timeout:()=>rp,ir_transmit_busy:()=>Np,ir_transmit_conventional_data:()=>lp,ir_transmit_raw_code:()=>Pp,ir_transmit_study_code:()=>Ap,ir_whether_recv:()=>Rp,lora_init:()=>qp,lora_packet:()=>jp,lora_recv:()=>_M,lora_send:()=>$p,network_espnow_info:()=>yp,network_espnow_mac:()=>Fp,network_espnow_recv:()=>fp,network_espnow_recv_handle:()=>xp,network_espnow_send:()=>bp,recv_fun:()=>Lp,spi_buffer:()=>IM,spi_init:()=>sM,spi_read:()=>aM,spi_read_output:()=>pM,spi_readinto:()=>MM,spi_readinto_output:()=>LM,spi_set:()=>OM,spi_write:()=>RM,spi_write_readinto:()=>rM,urequests_attribute:()=>eM,urequests_get:()=>tM,urequests_method:()=>iM});var g={};_.r(g),_.d(g,{display_animate:()=>ZM,display_blink_rate:()=>wM,display_circle:()=>QM,display_color_seclet:()=>oL,display_draw_4strings:()=>bM,display_fill:()=>zM,display_get_screen_image:()=>kM,display_help:()=>qM,display_image_size:()=>xM,display_lcd_use_i2c_init:()=>ML,display_line:()=>XM,display_line_arbitrarily:()=>VM,display_matrix_extern_bright_point:()=>YM,display_matrix_extern_bright_screen:()=>BM,display_matrix_extern_clear:()=>gM,display_matrix_extern_get_pixel:()=>DM,display_matrix_extern_get_screen_pixel:()=>UM,display_matrix_extern_image_builtins:()=>GM,display_matrix_extern_scroll_string:()=>uM,display_matrix_extern_scroll_string_delay:()=>mM,display_matrix_extern_shift:()=>HM,display_matrix_extern_show_frame_string:()=>CM,display_matrix_extern_show_frame_string_delay:()=>cM,display_matrix_extern_show_image:()=>dM,display_matrix_extern_show_image_or_string_delay:()=>hM,display_matrix_use_i2c_init:()=>NM,display_oled_drawPixel:()=>$M,display_oled_showBitmap:()=>jM,display_oled_use_i2c_init:()=>lL,display_onoff:()=>KM,display_rect:()=>vM,display_rgb_color:()=>WM,display_tm1650_power:()=>tL,display_tm1650_set_brightness:()=>TL,display_tm1650_show_dot:()=>iL,display_tm1650_show_num:()=>eL,display_tm_use_i2c_init:()=>_L,display_triangle:()=>JM,display_use_i2c_init:()=>fM,extern_oled_bright_point:()=>DL,extern_oled_clear:()=>YL,extern_oled_get_pixel:()=>HL,extern_oled_hvline:()=>BL,extern_oled_line:()=>gL,extern_oled_scroll_string:()=>hL,extern_oled_scroll_string_delay:()=>uL,extern_oled_shape_rect:()=>UL,extern_oled_shift:()=>cL,extern_oled_show_frame_string:()=>mL,extern_oled_show_frame_string_delay:()=>CL,extern_oled_show_image:()=>AL,extern_oled_show_image_or_string_delay:()=>dL,extern_oled_show_image_xy:()=>PL,extern_oled_show_string:()=>NL,lcd_backlight:()=>rL,lcd_clear:()=>SL,lcd_print_string:()=>RL,lcd_show_image_or_string_delay:()=>LL,matrix_extern_image_arithmetic:()=>FM,matrix_extern_image_invert:()=>yM,tft_fill:()=>aL,tft_line_arbitrarily:()=>pL,tft_scroll_string_delay:()=>OL,tft_show_frame_string_delay:()=>IL,tft_show_image_or_string_delay:()=>sL,tft_show_image_xy:()=>nL,tft_use_spi_init:()=>EL});var G={};_.r(G),_.d(G,{bitbot_display_image_create:()=>lR,display_bright_point:()=>ZL,display_bright_screen:()=>JL,display_clear:()=>qL,display_get_pixel:()=>zL,display_get_screen_pixel:()=>QL,display_image_builtins:()=>VL,display_image_builtins_all:()=>kL,display_image_create:()=>XL,display_scroll_string:()=>fL,display_scroll_string_delay:()=>bL,display_shift:()=>KL,display_show_frame_string:()=>xL,display_show_frame_string_delay:()=>vL,display_show_image:()=>FL,display_show_image_or_string_delay:()=>yL,image_arithmetic:()=>wL,image_invert:()=>WL,mixbot_display_bright_screen:()=>rR,mixbot_display_get_ambientbright:()=>RR,mixbot_display_get_screen_pixel:()=>LR,mixbot_display_image_create:()=>MR,mixbot_display_rotate:()=>SR,mixgo_display_image_create_new:()=>_R,mixgome_display_font:()=>tR,mixgome_display_image_create:()=>jL,mixgomini_display_image_create:()=>$L,mpython_display_hvline:()=>IR,mpython_display_line:()=>aR,mpython_display_shape_rect:()=>OR,mpython_pbm_image:()=>pR,onboard_oled_bright_point:()=>sR,onboard_oled_scroll_string_delay:()=>nR,onboard_oled_show_frame_string_delay:()=>oR,onboard_oled_show_image:()=>eR,onboard_oled_show_image_or_string_delay:()=>ER,onboard_oled_show_image_xy:()=>iR,onboard_oled_show_string:()=>TR,onboard_tft_bright_point:()=>UR,onboard_tft_bright_screen:()=>GR,onboard_tft_clear:()=>BR,onboard_tft_clock_clear:()=>vR,onboard_tft_clock_draw:()=>xR,onboard_tft_clock_get_rtctime:()=>fR,onboard_tft_clock_init:()=>yR,onboard_tft_clock_set_time:()=>bR,onboard_tft_display_hvline:()=>cR,onboard_tft_display_line:()=>HR,onboard_tft_display_shape_circle:()=>XR,onboard_tft_display_shape_rect:()=>CR,onboard_tft_fill:()=>FR,onboard_tft_get_pixel:()=>YR,onboard_tft_get_screen_pixel:()=>gR,onboard_tft_scroll_string:()=>dR,onboard_tft_scroll_string_delay:()=>hR,onboard_tft_shift:()=>DR,onboard_tft_show_frame_string:()=>uR,onboard_tft_show_frame_string_delay:()=>mR,onboard_tft_show_image:()=>AR,onboard_tft_show_image_or_string_delay:()=>NR,onboard_tft_show_image_xy:()=>PR});var F={};_.r(F),_.d(F,{factory_block:()=>jR,factory_block_return:()=>$R,factory_block_return_with_textarea:()=>tr,factory_block_with_textarea:()=>_r,factory_callMethod_noreturn:()=>JR,factory_callMethod_return:()=>qR,factory_create_with_container:()=>KR,factory_create_with_item:()=>zR,factory_declare:()=>QR,factory_from_import:()=>kR,factory_function_noreturn:()=>WR,factory_function_return:()=>ZR,factory_import:()=>wR,folding_block:()=>er});var y={};_.r(y),_.d(y,{controls_pin_attachInterrupt:()=>ur,inout_analog_atten:()=>pr,inout_analog_read:()=>ar,inout_analog_read_init:()=>lr,inout_analog_write:()=>sr,inout_analog_write_init:()=>Sr,inout_analog_write_set:()=>Or,inout_analog_write_set_freq:()=>Nr,inout_digital_init:()=>Rr,inout_digital_read:()=>nr,inout_digital_write:()=>Er,inout_highlow:()=>Tr,inout_pinMode:()=>Pr,inout_pin_attachInterrupt:()=>Lr,inout_pin_pressed:()=>Mr,inout_pin_pressed_init:()=>Ar,inout_pwm_analog_write:()=>or,inout_pwm_analog_write_init:()=>rr,inout_pwm_analog_write_set_freq:()=>Ir,pin_pressed:()=>hr,pin_pressed_init:()=>dr});var f={};_.r(f),_.d(f,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Zr,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zr,IOT_EMQX_PING:()=>Wr,IOT_FORMATTING:()=>kr,IOT_FORMAT_STRING:()=>wr,IOT_MIXIO_NTP:()=>Kr,IOT_MIXIO_PUBLISH:()=>yr,IOT_MIXIO_SUBSCRIBE:()=>fr,iot_checkonenet:()=>TS,iot_client_onboard:()=>Jr,iot_create_with_item:()=>Gr,iot_http_client:()=>qr,iot_http_data:()=>jr,iot_mixio_check:()=>vr,iot_mixio_connect:()=>Fr,iot_mixio_connect_only:()=>xr,iot_mixio_disconnect:()=>br,iot_mixio_format_msg:()=>Vr,iot_mixio_format_topic:()=>Xr,iot_mixly_key:()=>Qr,iot_mqtt_client:()=>$r,iot_mqtt_data:()=>_S,iot_onenet_check:()=>Dr,iot_onenet_connect:()=>cr,iot_onenet_disconnect:()=>Hr,iot_onenet_publish:()=>Ur,iot_onenet_publish_dict:()=>Yr,iot_onenetconnect:()=>eS,iot_onenetdisconnect:()=>iS,iot_publish:()=>ES,iot_publish_container:()=>Br,iot_publish_item:()=>gr,iot_wifi_connect:()=>Cr,iot_wificonnect:()=>tS});var b={};_.r(b),_.d(b,{network_ap_connect:()=>rS,network_connect:()=>aS,network_get_connect:()=>MS,network_get_wifi:()=>RS,network_init:()=>oS,network_is_active:()=>OS,network_open:()=>sS,network_scan:()=>IS,network_server:()=>SS,network_socket_accept:()=>dS,network_socket_bind:()=>AS,network_socket_close:()=>cS,network_socket_connect:()=>PS,network_socket_init:()=>lS,network_socket_listen:()=>NS,network_socket_receive:()=>hS,network_socket_receive_from:()=>mS,network_socket_send:()=>uS,network_socket_send_to:()=>CS,network_stop:()=>LS,network_wifi_connect:()=>pS,ntptime_address:()=>BS,ntptime_time:()=>US,requests_attribute:()=>DS,requests_get:()=>HS,requests_method:()=>YS});var x={};_.r(x),_.d(x,{pe_g1_battery_left:()=>FS,pe_g1_dc_motor:()=>yS,pe_g1_dc_motor_speed:()=>fS,pe_g1_servo_get_angle:()=>vS,pe_g1_servo_get_speed:()=>XS,pe_g1_servo_set_angle:()=>bS,pe_g1_servo_set_speed:()=>xS,pe_g1_use_i2c_init:()=>GS});var v={};_.r(v),_.d(v,{HCSR04:()=>Vl,PS2_Button:()=>Kl,PS2_Buttons:()=>Zl,PS2_Buttons_new:()=>jl,PS2_State:()=>zl,PS2_init:()=>kl,PS2_init_new:()=>Jl,PS2_stk:()=>Ql,PS2_stk_new:()=>$l,PS2_vibration:()=>Wl,PS2_vibration_new:()=>ql,esp32_s2_weather_init:()=>bl,esp32_s2_weather_rain:()=>vl,esp32_s2_weather_wd:()=>xl,esp32_s2_weather_ws:()=>Xl,extern_rfid_read:()=>ul,extern_rfid_readcontent:()=>Cl,extern_rfid_readid:()=>ml,extern_rfid_status:()=>Dl,extern_rfid_write:()=>cl,extern_rfid_write_return:()=>Hl,gnss_get_data:()=>iA,gnss_have_data:()=>eA,mixbot_sensor_extern_get_addr:()=>IA,mixbot_sensor_extern_set_addr:()=>aA,pm25_get_data:()=>tA,robot_button_extern_get_value:()=>TA,robot_color_extern_get_value:()=>OA,robot_infrared_extern_get_value:()=>nA,robot_infrared_extern_grey_get_value:()=>oA,robot_potentiometer_extern_get_value:()=>sA,robot_sonar_extern_get_value:()=>pA,robot_sonar_extern_led:()=>MA,robot_touch_extern_get_value:()=>EA,sensor_APDS9960_extern:()=>nl,sensor_LTR308_extern:()=>ol,sensor_LTR390UV_extern:()=>Ol,sensor_MAX30102_extern:()=>El,sensor_QMC5883L_extern:()=>Ll,sensor_VL530LX_extern:()=>Il,sensor_adxl345_get_acceleration:()=>ZS,sensor_aht11_extern:()=>pl,sensor_bmp:()=>_l,sensor_compass_reset:()=>dl,sensor_dht11:()=>JS,sensor_ds18x20:()=>el,sensor_hp203_extern:()=>Ml,sensor_light_level:()=>QS,sensor_lm35:()=>il,sensor_ltr381_extern:()=>sl,sensor_mixgo_extern_button_attachInterrupt:()=>KS,sensor_mixgo_extern_button_get_presses:()=>WS,sensor_mixgo_extern_button_is_pressed:()=>kS,sensor_mixgo_extern_button_was_pressed:()=>wS,sensor_mixgo_extern_light:()=>qS,sensor_mixgo_extern_pin_near:()=>$S,sensor_mixgo_extern_sound:()=>jS,sensor_mixgoce_hot_wheel_degrees:()=>fl,sensor_mixgoce_hot_wheel_is_touched:()=>yl,sensor_mpu9250_attachGestureInterrupt:()=>zS,sensor_mpu9250_calibrate_compass:()=>Al,sensor_mpu9250_field_strength:()=>Nl,sensor_mpu9250_gesture:()=>Rl,sensor_mpu9250_get_acceleration:()=>rl,sensor_mpu9250_get_gyro:()=>ll,sensor_mpu9250_get_magnetic:()=>Sl,sensor_mpu9250_temperature:()=>Pl,sensor_sht:()=>tl,sensor_shtc3_extern:()=>al,sensor_use_i2c_init:()=>Tl,sensor_use_spi_init:()=>hl,sensor_use_uart_init:()=>_A,sensor_weather_solo_init:()=>LA,sensor_weather_solo_rain:()=>SA,sensor_weather_solo_wd:()=>RA,sensor_weather_solo_ws:()=>rA,weather_data:()=>Yl,weather_have_data:()=>Ul,weather_set_label:()=>gl,weather_set_label_container:()=>Gl,weather_set_label_item:()=>Fl,weather_uart_mixio:()=>Bl});var X={};_.r(X),_.d(X,{HCSR04:()=>GA,RTC_set_date:()=>gA,RTC_set_time:()=>BA,bitbot_als_num:()=>xP,dht11:()=>KP,number1:()=>yA,number2:()=>fA,number3:()=>bA,number4:()=>xA,number5:()=>vA,number6:()=>XA,number7:()=>VA,onboard_RTC_get_time:()=>QA,onboard_RTC_get_timestamp:()=>JA,onboard_RTC_set_datetime:()=>$A,onboard_RTC_settime_string:()=>jA,onboard_RTC_timestamp_totuple:()=>qA,rfid_readcontent:()=>oP,rfid_readid:()=>nP,rfid_write:()=>sP,rfid_write_return:()=>OP,sensor_LTR308:()=>tP,sensor_aht11:()=>iP,sensor_bitbot_ALS:()=>bP,sensor_button_get_presses:()=>VP,sensor_button_is_pressed:()=>vP,sensor_button_was_pressed:()=>XP,sensor_distance_hrsc04:()=>UA,sensor_eulerangles:()=>aP,sensor_field_strength:()=>zP,sensor_get_acceleration:()=>IP,sensor_get_temperature:()=>TP,sensor_hp203:()=>EP,sensor_light:()=>WP,sensor_mixbot_get_gyro:()=>fP,sensor_mixbot_patrol_calibrate:()=>GP,sensor_mixbot_patrol_value:()=>FP,sensor_mixbot_temperature:()=>yP,sensor_mixgo_LTR308:()=>ZA,sensor_mixgo_button_attachInterrupt:()=>dA,sensor_mixgo_button_get_presses:()=>NA,sensor_mixgo_button_is_pressed:()=>AA,sensor_mixgo_button_was_pressed:()=>PA,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>dP,sensor_mixgo_cc_mmc5603_get_angle:()=>NP,sensor_mixgo_cc_mmc5603_get_magnetic:()=>PP,sensor_mixgo_light:()=>FA,sensor_mixgo_nova_LTR308:()=>zA,sensor_mixgo_nova_pin_near:()=>KA,sensor_mixgo_pin_near:()=>WA,sensor_mixgo_pin_near_double:()=>wA,sensor_mixgo_pin_near_single:()=>kA,sensor_mixgo_pin_pressed:()=>cA,sensor_mixgo_touch_slide:()=>YA,sensor_mixgocar42_button_attachInterrupt:()=>CA,sensor_mixgocar42_button_get_presses:()=>mA,sensor_mixgocar42_button_is_pressed:()=>hA,sensor_mixgocar42_button_was_pressed:()=>uA,sensor_mixgocar_battery_left:()=>gP,sensor_mixgocar_pin_near:()=>UP,sensor_mixgocar_pin_near_line:()=>YP,sensor_mixgocar_pin_near_state_change:()=>BP,sensor_mixgoce_pin_pressed:()=>HA,sensor_mixgoce_temperature:()=>uP,sensor_mixgome_temperature:()=>hP,sensor_mpython_pin_pressed:()=>DA,sensor_mpython_qmi8658_get_gyro:()=>mP,sensor_mpython_qmi8658_temperature:()=>CP,sensor_onboard_compass_reset:()=>AP,sensor_onboard_mpu9250_calibrate_compass:()=>rP,sensor_onboard_mpu9250_field_strength:()=>lP,sensor_onboard_mpu9250_gesture:()=>pP,sensor_onboard_mpu9250_get_acceleration:()=>MP,sensor_onboard_mpu9250_get_gyro:()=>RP,sensor_onboard_mpu9250_get_magnetic:()=>LP,sensor_onboard_mpu9250_temperature:()=>SP,sensor_pin_near:()=>wP,sensor_pin_pressed:()=>kP,sensor_rm_acc:()=>DP,sensor_rm_battery_left:()=>HP,sensor_rm_pin_near_double:()=>cP,sensor_rtc_init:()=>_P,sensor_sound:()=>eP,sensor_temperature:()=>ZP});var V={};_.r(V),_.d(V,{serial_any:()=>eN,serial_begin:()=>oN,serial_print:()=>qP,serial_print_byte:()=>JP,serial_print_hex:()=>$P,serial_println:()=>jP,serial_read_from_ai:()=>rN,serial_readline:()=>iN,serial_readstr:()=>tN,serial_readstr_until:()=>TN,serial_receive_data_event:()=>_N,serial_send_to_ai:()=>RN,serial_softserial:()=>nN,serial_softserial_new:()=>EN,system_input:()=>sN,system_print:()=>ON,system_print_container:()=>MN,system_print_end:()=>aN,system_print_inline:()=>IN,system_print_item:()=>LN,system_print_many:()=>pN});var k={};_.r(k),_.d(k,{Panic_with_status_code:()=>PN,Timer_init:()=>gN,base_delay:()=>yN,controls_delay:()=>AN,controls_delay_new:()=>lN,controls_millis:()=>dN,controls_uname:()=>uN,raw_block:()=>hN,reset:()=>NN,system_bitbot_shutdown:()=>BN,system_machine_reset:()=>UN,system_ticks_diff:()=>cN,system_timer:()=>CN,system_timer_init:()=>HN,system_wdt_feed:()=>YN,system_wdt_init:()=>DN,time_ticks_diff:()=>FN,timer:()=>mN,timer2:()=>GN});var w={};_.r(w),_.d(w,{WEATHER_DAILY:()=>xN,WEATHER_HOUR:()=>vN,WEATHER_NOW:()=>bN});var W={};_.r(W),_.d(W,{actuator_extern_get_led_bright:()=>nd,actuator_extern_get_led_state:()=>od,actuator_extern_led_bright:()=>Ed,actuator_extern_led_brightness:()=>sd,actuator_ms32006_dcmotor:()=>ZN,actuator_ms32006_init:()=>zN,actuator_ms32006_stepper:()=>QN,actuator_neopixel_init:()=>Od,actuator_neopixel_rgb:()=>pd,actuator_neopixel_rgb_all:()=>Id,actuator_neopixel_write:()=>ad,actuator_use_uart_init:()=>Md,esp32_music_get_tempo_extern:()=>td,esp32_music_pitch:()=>qN,esp32_music_pitch_init:()=>JN,esp32_music_pitch_with_time:()=>jN,esp32_music_play_list:()=>ed,esp32_music_reset_extern:()=>id,esp32_music_set_tempo_extern:()=>_d,esp32_music_stop:()=>$N,mixbot_actuator_extern_get_addr:()=>Ud,mixbot_actuator_extern_set_addr:()=>Bd,mixbot_addr_extern:()=>ld,robot_led_extern:()=>dd,robot_led_extern_get_value:()=>hd,robot_motor_extern:()=>Ad,robot_motor_extern_get_speed:()=>Pd,robot_servo_extern_absolute_run:()=>cd,robot_servo_extern_get_status:()=>ud,robot_servo_extern_relative_continue:()=>Yd,robot_servo_extern_relative_origin:()=>Hd,robot_servo_extern_relative_run:()=>Dd,robot_servo_extern_stop:()=>Cd,robot_servo_extern_stop_mode:()=>md,robot_traffic_light_extern:()=>Nd,servo_get_angle:()=>WN,servo_get_speed:()=>KN,servo_init:()=>XN,servo_move:()=>Td,servo_set_angle:()=>kN,servo_set_speed:()=>wN,servo_speed_360:()=>VN,syn6288_builtin_voice:()=>rd,syn6288_get_voice:()=>Rd,syn6288_set_voice:()=>Ld,syn6288_tts_play:()=>Sd});var K={};_.r(K),_.d(K,{actuator_dc_motor:()=>nh,actuator_dc_motor_stop:()=>oh,actuator_get_led_bright:()=>kd,actuator_get_led_state:()=>wd,actuator_led_bright:()=>Vd,actuator_led_brightness:()=>Wd,actuator_mixbot_buzzer_on_off:()=>ph,actuator_mixgo_nova_mic_get:()=>Sh,actuator_mixgo_nova_mic_set:()=>rh,actuator_mixgo_nova_onboard_music_pitch:()=>hh,actuator_mixgo_nova_onboard_music_stop:()=>uh,actuator_mixgo_nova_play_audio:()=>Nh,actuator_mixgo_nova_play_online_audio:()=>dh,actuator_mixgo_nova_record_audio:()=>Ph,actuator_mixgo_nova_voice_get:()=>Ah,actuator_mixgo_nova_voice_set:()=>lh,actuator_mixgo_zero_led_color:()=>Kd,actuator_onboard_neopixel_rgb:()=>$d,actuator_onboard_neopixel_rgb_all:()=>_h,actuator_onboard_neopixel_rgb_show_all_chase:()=>th,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>eh,actuator_onboard_neopixel_write:()=>jd,actuator_stepper_keep:()=>Th,actuator_stepper_stop:()=>Eh,bitbot_motor:()=>Rh,bitbot_move:()=>Mh,bitbot_stop:()=>Lh,cc_number:()=>zd,esp32_music_get_tempo:()=>Gd,esp32_music_reset:()=>xd,esp32_music_set_tempo:()=>gd,esp32_onboard_music_pitch:()=>Fd,esp32_onboard_music_pitch_with_time:()=>yd,esp32_onboard_music_play_list:()=>bd,esp32_onboard_music_stop:()=>fd,get_power_output:()=>Ch,ledswitch:()=>Xd,mixbot_motor:()=>ah,mixbot_motor_status:()=>sh,mixbot_move:()=>Oh,mixbot_stop:()=>Ih,number:()=>vd,rm_actuator_get_led_bright:()=>Qd,rm_actuator_get_led_state:()=>Jd,rm_actuator_led_bright:()=>Zd,rm_actuator_led_brightness:()=>qd,rm_motor:()=>ih,set_all_power_output:()=>ch,set_power_output:()=>mh});var z={};_.r(z),_.d(z,{ai_sensor_20object:()=>nu,ai_sensor_ailocal_class:()=>Qh,ai_sensor_ailocal_class_result:()=>Jh,ai_sensor_ailocal_train:()=>Zh,ai_sensor_asr_recognize:()=>tu,ai_sensor_audio_play:()=>jh,ai_sensor_audio_record:()=>qh,ai_sensor_barcode:()=>Gh,ai_sensor_circle:()=>vh,ai_sensor_classifier_faces:()=>Eu,ai_sensor_color:()=>wh,ai_sensor_color_chases:()=>zh,ai_sensor_color_chases_result:()=>Kh,ai_sensor_config:()=>Yh,ai_sensor_face:()=>Tu,ai_sensor_find_20objects:()=>ou,ai_sensor_find_barcodes:()=>Fh,ai_sensor_find_circles:()=>Xh,ai_sensor_find_colors:()=>Wh,ai_sensor_find_licenseplates:()=>iu,ai_sensor_find_lines:()=>xh,ai_sensor_find_qrcodes:()=>gh,ai_sensor_find_rects:()=>kh,ai_sensor_find_tags:()=>fh,ai_sensor_licenseplate:()=>eu,ai_sensor_line:()=>bh,ai_sensor_qrcode:()=>Bh,ai_sensor_qrcode_lite:()=>Dh,ai_sensor_rect:()=>Vh,ai_sensor_rgb:()=>Uh,ai_sensor_tag:()=>yh,ai_sensor_use_uart_init:()=>Hh,ai_sensor_yolo_recognize:()=>$h,ai_sensor_yolo_recognize_result:()=>_u});var Z={};_.r(Z),_.d(Z,{MICROPYTHON_AI_Speech_asr:()=>Iu,MICROPYTHON_AI_Speech_unit:()=>Ou,MICROPYTHON_AI_client:()=>su});var Q={};_.r(Q),_.d(Q,{mpython_blynk_app_data:()=>du,mpython_blynk_app_notify:()=>Su,mpython_blynk_email:()=>hu,mpython_blynk_get_timers:()=>Au,mpython_blynk_on_connected:()=>Lu,mpython_blynk_on_disconnected:()=>Mu,mpython_blynk_run:()=>ru,mpython_blynk_sensor_data_to_app:()=>Nu,mpython_blynk_set_property:()=>uu,mpython_blynk_setup:()=>mu,mpython_blynk_stop_timers:()=>lu,mpython_blynk_sync_virtual:()=>pu,mpython_blynk_terminal_widget_vpin:()=>au,mpython_blynktimer:()=>Pu,mpython_blynktimer_run:()=>Ru});var J={};_.r(J),_.d(J,{communicate_bluetooth_central_init:()=>nm,communicate_bluetooth_connect:()=>Om,communicate_bluetooth_disconnect:()=>Im,communicate_bluetooth_handle:()=>rm,communicate_bluetooth_is_connected:()=>pm,communicate_bluetooth_mac:()=>am,communicate_bluetooth_peripheral_init:()=>om,communicate_bluetooth_recv:()=>Rm,communicate_bluetooth_recv_only:()=>Lm,communicate_bluetooth_scan:()=>sm,communicate_bluetooth_send:()=>Mm,communicate_espnow_init:()=>Sm,communicate_espnow_init_new:()=>lm,communicate_i2c_available:()=>gu,communicate_i2c_init:()=>Hu,communicate_i2c_master_read:()=>Bu,communicate_i2c_onboard:()=>Cu,communicate_i2c_read:()=>Du,communicate_i2c_scan:()=>Uu,communicate_i2c_write:()=>Yu,communicate_ir_recv_init:()=>Ju,communicate_ir_send_init:()=>tm,communicate_ow_init:()=>wu,communicate_ow_read:()=>zu,communicate_ow_reset:()=>Ku,communicate_ow_scan:()=>Wu,communicate_ow_select:()=>Qu,communicate_ow_write:()=>Zu,communicate_spi_buffer:()=>fu,communicate_spi_init:()=>Fu,communicate_spi_onboard:()=>cu,communicate_spi_read:()=>bu,communicate_spi_read_output:()=>xu,communicate_spi_readinto:()=>vu,communicate_spi_readinto_output:()=>Xu,communicate_spi_set:()=>yu,communicate_spi_write:()=>Vu,communicate_spi_write_readinto:()=>ku,espnow_radio_channel:()=>um,espnow_radio_channel_new:()=>Cm,espnow_radio_on_off:()=>cm,espnow_radio_rec:()=>Dm,espnow_radio_recv:()=>Um,espnow_radio_recv_certain_msg:()=>Bm,espnow_radio_recv_certain_msg_new:()=>Gm,espnow_radio_recv_msg:()=>Ym,espnow_radio_recv_new:()=>gm,espnow_radio_send:()=>Hm,espnow_radio_txpower:()=>mm,i2c_slave_onreceive:()=>Gu,internal_variable:()=>qu,ir_recv_timeout:()=>_m,ir_transmit_busy:()=>Em,ir_transmit_conventional_data:()=>em,ir_transmit_raw_code:()=>Tm,ir_transmit_study_code:()=>im,ir_whether_recv:()=>$u,lora_init:()=>Fm,lora_packet:()=>ym,lora_recv:()=>bm,lora_send:()=>fm,network_espnow_info:()=>Pm,network_espnow_mac:()=>Am,network_espnow_recv:()=>Nm,network_espnow_recv_handle:()=>hm,network_espnow_send:()=>dm,recv_fun:()=>ju,urequests_attribute:()=>vm,urequests_get:()=>xm,urequests_method:()=>Xm});var q={};_.r(q),_.d(q,{display_animate:()=>pC,display_circle:()=>MC,display_color_seclet:()=>uC,display_draw_4strings:()=>EC,display_fill:()=>aC,display_lcd_use_i2c_init:()=>YC,display_line:()=>sC,display_line_arbitrarily:()=>nC,display_matrix_extern_bright_point:()=>jm,display_matrix_extern_bright_screen:()=>_C,display_matrix_extern_clear:()=>Qm,display_matrix_extern_get_pixel:()=>qm,display_matrix_extern_get_screen_pixel:()=>$m,display_matrix_extern_image_builtins:()=>tC,display_matrix_extern_scroll_string:()=>zm,display_matrix_extern_scroll_string_delay:()=>Zm,display_matrix_extern_shift:()=>Jm,display_matrix_extern_show_frame_string:()=>Wm,display_matrix_extern_show_frame_string_delay:()=>Km,display_matrix_extern_show_image:()=>km,display_matrix_extern_show_image_or_string_delay:()=>wm,display_matrix_use_i2c_init:()=>Vm,display_oled_drawPixel:()=>rC,display_oled_showBitmap:()=>RC,display_oled_use_i2c_init:()=>FC,display_onoff:()=>OC,display_rect:()=>oC,display_tm1650_power:()=>lC,display_tm1650_set_brightness:()=>NC,display_tm1650_show_dot:()=>PC,display_tm1650_show_num:()=>AC,display_tm_use_i2c_init:()=>SC,display_triangle:()=>LC,display_use_i2c_init:()=>TC,extern_oled_bright_point:()=>zC,extern_oled_clear:()=>wC,extern_oled_get_pixel:()=>KC,extern_oled_hvline:()=>QC,extern_oled_line:()=>JC,extern_oled_scroll_string:()=>VC,extern_oled_scroll_string_delay:()=>kC,extern_oled_shape_rect:()=>ZC,extern_oled_shift:()=>WC,extern_oled_show_frame_string:()=>vC,extern_oled_show_frame_string_delay:()=>XC,extern_oled_show_image:()=>yC,extern_oled_show_image_or_string_delay:()=>xC,extern_oled_show_image_xy:()=>fC,extern_oled_show_string:()=>bC,image_shift:()=>IC,lcd_backlight:()=>gC,lcd_clear:()=>GC,lcd_print_string:()=>BC,lcd_show_image_or_string_delay:()=>UC,matrix_extern_image_arithmetic:()=>eC,matrix_extern_image_invert:()=>iC,tft_fill:()=>HC,tft_line_arbitrarily:()=>DC,tft_scroll_string_delay:()=>cC,tft_show_frame_string_delay:()=>CC,tft_show_image_or_string_delay:()=>mC,tft_show_image_xy:()=>hC,tft_use_spi_init:()=>dC});var j={};_.r(j),_.d(j,{bitbot_display_image_create:()=>Gc,display_bright_point:()=>ac,display_bright_screen:()=>Mc,display_clear:()=>nc,display_get_pixel:()=>Ic,display_get_screen_pixel:()=>pc,display_image_builtins:()=>ic,display_image_builtins_all:()=>Tc,display_image_create:()=>Ec,display_scroll_string:()=>tc,display_scroll_string_delay:()=>ec,display_shift:()=>Oc,display_show_frame_string:()=>$C,display_show_frame_string_delay:()=>_c,display_show_image:()=>qC,display_show_image_or_string_delay:()=>jC,image_arithmetic:()=>oc,image_invert:()=>sc,mixbot_display_bright_screen:()=>Bc,mixbot_display_get_ambientbright:()=>Uc,mixbot_display_get_screen_pixel:()=>Yc,mixbot_display_image_create:()=>Dc,mixbot_display_rotate:()=>gc,mixgo_display_image_create_new:()=>Sc,mixgome_display_font:()=>rc,mixgome_display_image_create:()=>Lc,mixgomini_display_image_create:()=>Rc,mpython_display_hvline:()=>cc,mpython_display_line:()=>Hc,mpython_display_shape_rect:()=>Cc,mpython_pbm_image:()=>lc,onboard_oled_bright_point:()=>mc,onboard_oled_scroll_string_delay:()=>uc,onboard_oled_show_frame_string_delay:()=>hc,onboard_oled_show_image:()=>Ac,onboard_oled_show_image_or_string_delay:()=>dc,onboard_oled_show_image_xy:()=>Pc,onboard_oled_show_string:()=>Nc,onboard_tft_bright_point:()=>Zc,onboard_tft_bright_screen:()=>Jc,onboard_tft_clear:()=>Wc,onboard_tft_clock_clear:()=>eH,onboard_tft_clock_draw:()=>tH,onboard_tft_clock_get_rtctime:()=>$c,onboard_tft_clock_init:()=>jc,onboard_tft_clock_set_time:()=>_H,onboard_tft_display_hvline:()=>kc,onboard_tft_display_line:()=>wc,onboard_tft_display_shape_circle:()=>iH,onboard_tft_display_shape_rect:()=>Vc,onboard_tft_fill:()=>qc,onboard_tft_get_pixel:()=>zc,onboard_tft_get_screen_pixel:()=>Qc,onboard_tft_scroll_string:()=>vc,onboard_tft_scroll_string_delay:()=>Xc,onboard_tft_shift:()=>Kc,onboard_tft_show_frame_string:()=>bc,onboard_tft_show_frame_string_delay:()=>xc,onboard_tft_show_image:()=>Fc,onboard_tft_show_image_or_string_delay:()=>fc,onboard_tft_show_image_xy:()=>yc});var $={};_.r($),_.d($,{factory_block:()=>aH,factory_block_return:()=>pH,factory_block_return_with_textarea:()=>LH,factory_block_with_textarea:()=>MH,factory_callMethod_noreturn:()=>OH,factory_callMethod_return:()=>IH,factory_declare:()=>sH,factory_from_import:()=>TH,factory_function_noreturn:()=>nH,factory_function_return:()=>oH,factory_import:()=>EH,folding_block:()=>RH});var __={};_.r(__),_.d(__,{inout_analog_atten:()=>YH,inout_analog_read:()=>hH,inout_analog_read_init:()=>DH,inout_analog_write:()=>PH,inout_analog_write_init:()=>HH,inout_analog_write_set:()=>NH,inout_digital_init:()=>CH,inout_digital_read:()=>lH,inout_digital_write:()=>SH,inout_highlow:()=>rH,inout_pin_attachInterrupt:()=>mH,inout_pin_pressed:()=>uH,inout_pin_pressed_init:()=>UH,inout_pwm_analog_write:()=>AH,inout_pwm_analog_write_init:()=>cH,inout_pwm_analog_write_set_freq:()=>dH});var t_={};_.r(t_),_.d(t_,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>JH,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ZH,IOT_EMQX_PING:()=>qH,IOT_FORMATTING:()=>KH,IOT_FORMAT_STRING:()=>zH,IOT_MIXIO_NTP:()=>jH,IOT_MIXIO_PUBLISH:()=>xH,IOT_MIXIO_SUBSCRIBE:()=>vH,iot_client_onboard:()=>$H,iot_http_client:()=>_D,iot_http_data:()=>tD,iot_mixio_check:()=>kH,iot_mixio_connect:()=>bH,iot_mixio_connect_only:()=>VH,iot_mixio_disconnect:()=>XH,iot_mixio_format_msg:()=>WH,iot_mixio_format_topic:()=>wH,iot_mixly_key:()=>QH,iot_mqtt_client:()=>eD,iot_mqtt_data:()=>iD,iot_onenet_check:()=>yH,iot_onenet_connect:()=>gH,iot_onenet_disconnect:()=>GH,iot_onenet_publish:()=>fH,iot_onenet_publish_dict:()=>FH,iot_wifi_connect:()=>BH});var e_={};_.r(e_),_.d(e_,{network_ap_connect:()=>pD,network_connect:()=>ED,network_get_connect:()=>oD,network_get_wifi:()=>aD,network_init:()=>TD,network_is_active:()=>ID,network_open:()=>OD,network_scan:()=>MD,network_server:()=>LD,network_socket_accept:()=>AD,network_socket_bind:()=>rD,network_socket_close:()=>uD,network_socket_connect:()=>SD,network_socket_init:()=>RD,network_socket_listen:()=>lD,network_socket_receive:()=>PD,network_socket_receive_from:()=>dD,network_socket_send:()=>ND,network_socket_send_to:()=>hD,network_stop:()=>sD,network_wifi_connect:()=>nD,ntptime_address:()=>DD,ntptime_time:()=>HD,requests_attribute:()=>CD,requests_get:()=>mD,requests_method:()=>cD});var i_={};_.r(i_),_.d(i_,{pe_g1_battery_left:()=>UD,pe_g1_dc_motor:()=>BD,pe_g1_dc_motor_speed:()=>gD,pe_g1_servo_get_angle:()=>yD,pe_g1_servo_get_speed:()=>fD,pe_g1_servo_set_angle:()=>GD,pe_g1_servo_set_speed:()=>FD,pe_g1_use_i2c_init:()=>YD});var T_={};_.r(T_),_.d(T_,{HCSR04:()=>CY,PS2_Button:()=>DY,PS2_Buttons:()=>YY,PS2_Buttons_new:()=>bY,PS2_State:()=>UY,PS2_init:()=>cY,PS2_init_new:()=>yY,PS2_stk:()=>BY,PS2_stk_new:()=>xY,PS2_vibration:()=>HY,PS2_vibration_new:()=>fY,RTC_get_time:()=>GY,RTC_set_date:()=>WD,RTC_set_datetime:()=>gY,RTC_set_time:()=>wD,esp32_s2_weather_init:()=>dY,esp32_s2_weather_rain:()=>uY,esp32_s2_weather_wd:()=>hY,esp32_s2_weather_ws:()=>mY,extern_rfid_read:()=>IY,extern_rfid_readcontent:()=>pY,extern_rfid_readid:()=>aY,extern_rfid_status:()=>RY,extern_rfid_write:()=>MY,extern_rfid_write_return:()=>LY,gnss_get_data:()=>VY,gnss_have_data:()=>kY,mixbot_sensor_extern_get_addr:()=>jY,mixbot_sensor_extern_set_addr:()=>$Y,pm25_get_data:()=>XY,robot_button_extern_get_value:()=>wY,robot_color_extern_get_value:()=>QY,robot_infrared_extern_get_value:()=>KY,robot_infrared_extern_grey_get_value:()=>zY,robot_potentiometer_extern_get_value:()=>ZY,robot_sonar_extern_get_value:()=>JY,robot_sonar_extern_led:()=>qY,robot_touch_extern_get_value:()=>WY,sensor_APDS9960_extern:()=>_Y,sensor_LTR308_extern:()=>tY,sensor_LTR390UV_extern:()=>TY,sensor_MAX30102_extern:()=>$D,sensor_QMC5883L_extern:()=>EY,sensor_VL530LX_extern:()=>sY,sensor_aht11_extern:()=>oY,sensor_bmp:()=>JD,sensor_dht11:()=>FY,sensor_distance_hrsc04:()=>kD,sensor_hp203_extern:()=>eY,sensor_ltr381_extern:()=>iY,sensor_mixgo_extern_button_attachInterrupt:()=>XD,sensor_mixgo_extern_button_get_presses:()=>vD,sensor_mixgo_extern_button_is_pressed:()=>bD,sensor_mixgo_extern_button_was_pressed:()=>xD,sensor_mixgo_extern_light:()=>KD,sensor_mixgo_extern_pin_near:()=>ZD,sensor_mixgo_extern_sound:()=>zD,sensor_mixgoce_hot_wheel_degrees:()=>NY,sensor_mixgoce_hot_wheel_is_touched:()=>PY,sensor_mpu9250_attachGestureInterrupt:()=>VD,sensor_rtc_init:()=>QD,sensor_sht:()=>qD,sensor_shtc3_extern:()=>nY,sensor_use_i2c_init:()=>jD,sensor_use_spi_init:()=>OY,sensor_use_uart_init:()=>vY,sensor_weather_solo_init:()=>_U,sensor_weather_solo_rain:()=>iU,sensor_weather_solo_wd:()=>tU,sensor_weather_solo_ws:()=>eU,weather_data:()=>rY,weather_have_data:()=>SY,weather_set_label:()=>AY,weather_uart_mixio:()=>lY});var E_={};_.r(E_),_.d(E_,{HCSR04:()=>pU,bitbot_als_num:()=>YB,dht11:()=>bB,number1:()=>MU,number2:()=>LU,number3:()=>RU,number4:()=>rU,number5:()=>SU,number6:()=>lU,number7:()=>AU,onboard_RTC_get_time:()=>sB,onboard_RTC_get_timestamp:()=>OB,onboard_RTC_set_datetime:()=>nB,onboard_RTC_settime_string:()=>oB,onboard_RTC_timestamp_totuple:()=>IB,rfid_readcontent:()=>GU,rfid_readid:()=>gU,rfid_write:()=>FU,rfid_write_return:()=>yU,sensor_LTR308:()=>HU,sensor_adxl345_get_acceleration:()=>WU,sensor_aht11:()=>UU,sensor_bitbot_ALS:()=>DB,sensor_button_get_presses:()=>gB,sensor_button_is_pressed:()=>UB,sensor_button_was_pressed:()=>BB,sensor_compass_reset:()=>qU,sensor_ds18x20:()=>CU,sensor_eulerangles:()=>bU,sensor_get_acceleration:()=>fU,sensor_get_temperature:()=>BU,sensor_hp203:()=>YU,sensor_light:()=>fB,sensor_lm35:()=>cU,sensor_mixbot_get_gyro:()=>HB,sensor_mixbot_patrol_calibrate:()=>mB,sensor_mixbot_patrol_value:()=>CB,sensor_mixbot_temperature:()=>cB,sensor_mixgo_LTR308:()=>uU,sensor_mixgo_button_attachInterrupt:()=>oU,sensor_mixgo_button_get_presses:()=>nU,sensor_mixgo_button_is_pressed:()=>TU,sensor_mixgo_button_was_pressed:()=>EU,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>MB,sensor_mixgo_cc_mmc5603_get_angle:()=>pB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>aB,sensor_mixgo_light:()=>yB,sensor_mixgo_nova_LTR308:()=>mU,sensor_mixgo_nova_pin_near:()=>hU,sensor_mixgo_pin_near:()=>dU,sensor_mixgo_pin_near_double:()=>NU,sensor_mixgo_pin_near_single:()=>PU,sensor_mixgo_pin_pressed:()=>kU,sensor_mixgo_touch_slide:()=>VU,sensor_mixgocar42_button_attachInterrupt:()=>aU,sensor_mixgocar42_button_get_presses:()=>IU,sensor_mixgocar42_button_is_pressed:()=>sU,sensor_mixgocar42_button_was_pressed:()=>OU,sensor_mixgocar_battery_left:()=>uB,sensor_mixgocar_pin_near:()=>dB,sensor_mixgocar_pin_near_line:()=>NB,sensor_mixgocar_pin_near_state_change:()=>hB,sensor_mixgoce_pin_pressed:()=>XU,sensor_mixgoce_temperature:()=>RB,sensor_mixgome_temperature:()=>LB,sensor_mpu9250_calibrate_compass:()=>ZU,sensor_mpu9250_field_strength:()=>JU,sensor_mpu9250_gesture:()=>xU,sensor_mpu9250_get_acceleration:()=>vU,sensor_mpu9250_get_gyro:()=>zU,sensor_mpu9250_get_magnetic:()=>KU,sensor_mpu9250_temperature:()=>QU,sensor_mpython_pin_pressed:()=>wU,sensor_mpython_qmi8658_get_gyro:()=>rB,sensor_mpython_qmi8658_temperature:()=>SB,sensor_onboard_compass_reset:()=>EB,sensor_onboard_mpu9250_calibrate_compass:()=>eB,sensor_onboard_mpu9250_field_strength:()=>TB,sensor_onboard_mpu9250_gesture:()=>jU,sensor_onboard_mpu9250_get_acceleration:()=>$U,sensor_onboard_mpu9250_get_gyro:()=>tB,sensor_onboard_mpu9250_get_magnetic:()=>_B,sensor_onboard_mpu9250_temperature:()=>iB,sensor_pin_near:()=>FB,sensor_pin_pressed:()=>GB,sensor_rm_acc:()=>PB,sensor_rm_battery_left:()=>AB,sensor_rm_pin_near_double:()=>lB,sensor_sound:()=>DU});var n_={};_.r(n_),_.d(n_,{serial_any:()=>kB,serial_print:()=>xB,serial_print_byte:()=>vB,serial_print_hex:()=>VB,serial_println:()=>XB,serial_read_from_ai:()=>_g,serial_readline:()=>WB,serial_readstr:()=>wB,serial_send_to_ai:()=>$B,serial_softserial:()=>KB,serial_softserial_new:()=>zB,system_input:()=>ZB,system_print:()=>QB,system_print_end:()=>qB,system_print_inline:()=>JB,system_print_many:()=>jB});var o_={};_.r(o_),_.d(o_,{Panic_with_status_code:()=>pg,Timer_init:()=>cg,base_delay:()=>Yg,controls_delay:()=>Sg,controls_delay_new:()=>lg,controls_end_program:()=>Lg,controls_millis:()=>Mg,controls_uname:()=>rg,reset:()=>Rg,system_bitbot_shutdown:()=>Cg,system_device_name:()=>Ig,system_device_serial_number:()=>ag,system_event_bus_source:()=>sg,system_event_bus_value:()=>Og,system_machine_reset:()=>mg,system_on_event:()=>Eg,system_raise_event:()=>Tg,system_reset:()=>eg,system_run_in_background:()=>tg,system_ticks_diff:()=>Ng,system_timer:()=>Pg,system_timer_init:()=>dg,system_timestamp:()=>ng,system_value:()=>og,system_wait:()=>ig,system_wdt_feed:()=>ug,system_wdt_init:()=>hg,time_ticks_diff:()=>Dg,timer:()=>Ag,timer2:()=>Hg});var s_={};_.r(s_),_.d(s_,{WEATHER_DAILY:()=>Bg,WEATHER_HOUR:()=>gg,WEATHER_NOW:()=>Ug});var O_={};_.r(O_),_.d(O_,{analog_input:()=>Wg,analog_output:()=>zg,espnow_channel:()=>Vg,haskylens_model:()=>kg,i2c_A_pin:()=>Zg,i2c_B_pin:()=>Qg,pins_analog:()=>_G,pins_analog_pin:()=>tG,pins_axis:()=>SG,pins_brightness:()=>lG,pins_builtinimg:()=>IG,pins_builtinimg_extern:()=>aG,pins_button:()=>TG,pins_dac:()=>eG,pins_dac_pin:()=>iG,pins_digital:()=>fg,pins_digital_dot:()=>CG,pins_digital_pin:()=>bg,pins_exlcdh:()=>RG,pins_exlcdv:()=>rG,pins_imglist:()=>pG,pins_input_pin:()=>xg,pins_mpython_touch:()=>Xg,pins_one_more:()=>mG,pins_output_pin:()=>vg,pins_playlist:()=>MG,pins_playlist_extern:()=>LG,pins_pwm:()=>EG,pins_pwm_pin:()=>nG,pins_radio_datarate:()=>uG,pins_radio_power:()=>hG,pins_serial:()=>OG,pins_tone_notes:()=>dG,pins_touch:()=>sG,pins_touch_pin:()=>oG,pins_tts_bgmusic:()=>NG,pins_tts_builtin_music:()=>PG,pins_tts_voice:()=>AG,pwm_input:()=>wg,pwm_output:()=>Kg,spi_A_pin:()=>Jg,spi_B_pin:()=>qg,spi_C_pin:()=>jg,spi_D_pin:()=>$g});var I_={};_.r(I_),_.d(I_,{espnow_channel:()=>yG,haskylens_model:()=>fG,pins_analog:()=>gG,pins_analog_pin:()=>BG,pins_axis:()=>JG,pins_brightness:()=>$G,pins_builtinimg:()=>WG,pins_builtinimg_extern:()=>KG,pins_button:()=>HG,pins_dac:()=>vG,pins_dac_pin:()=>xG,pins_digital:()=>cG,pins_digital_dot:()=>oF,pins_digital_pin:()=>DG,pins_exlcdh:()=>qG,pins_exlcdv:()=>jG,pins_imglist:()=>zG,pins_input_pin:()=>YG,pins_interrupt:()=>kG,pins_mpython_touch:()=>bG,pins_one_more:()=>nF,pins_output_pin:()=>UG,pins_playlist:()=>ZG,pins_playlist_extern:()=>QG,pins_pwm:()=>FG,pins_pwm_pin:()=>GG,pins_radio_datarate:()=>EF,pins_radio_power:()=>TF,pins_serial:()=>wG,pins_tone_notes:()=>iF,pins_touch:()=>VG,pins_touch_pin:()=>XG,pins_tts_bgmusic:()=>eF,pins_tts_builtin_music:()=>tF,pins_tts_voice:()=>_F});const a_=Blockly,p_=Mixly,M_={NAME_TYPE:"VARIABLE",allVariables:function(_){var t;if(_.getDescendants)t=_.getDescendants();else{if(!_.getAllBlocks)throw"Not Block or Workspace: "+_;t=_.getAllBlocks()}for(var e=Object.create(null),i=0;i<t.length;i++)for(var T=t[i].getVars(),E=0;E<T.length;E++){var n=T[E];n&&(e[n.toLowerCase()]=n)}var o=[];for(var s in e)o.push(e[s]);return o},renameVariable:function(_,t,e){a_.Events.setGroup(!0);for(var i=e.getAllBlocks(),T=0;T<i.length;T++)i[T].renameVar(_,t);a_.Events.setGroup(!1)},flyoutCategory:function(_){var t=M_.allVariables(_),e=[];((E=a_.utils.xml.createElement("block")).setAttribute("type","variables_global"),e.push(E),a_.Blocks.variables_set)&&((E=a_.utils.xml.createElement("block")).setAttribute("type","variables_set"),e.push(E));a_.Blocks.variables_change&&((E=a_.utils.xml.createElement("block")).setAttribute("type","variables_change"),e.push(E));a_.Blocks.controls_type&&((E=a_.utils.xml.createElement("block")).setAttribute("type","controls_type"),e.push(E));a_.Blocks.controls_typeLists&&((E=a_.utils.xml.createElement("block")).setAttribute("type","controls_typeLists"),e.push(E));for(var i=0;i<t.length;i++){if(a_.Blocks.variables_set){(E=a_.utils.xml.createElement("block")).setAttribute("type","variables_set"),a_.Blocks.variables_get&&E.setAttribute("gap",8),(n=a_.utils.xml.createElement("field",null,t[i])).setAttribute("name","VAR");var T=a_.utils.xml.createTextNode(t[i]);n.appendChild(T),E.appendChild(n),e.push(E)}if(a_.Blocks.variables_get){var E,n;(E=a_.utils.xml.createElement("block")).setAttribute("type","variables_get"),a_.Blocks.variables_set&&E.setAttribute("gap",24),(n=a_.utils.xml.createElement("field",null,t[i])).setAttribute("name","VAR");T=a_.utils.xml.createTextNode(t[i]);n.appendChild(T),E.appendChild(n),e.push(E)}}return e},generateUniqueName:function(_){var t=M_.allVariables(_),e="";if(t.length)for(var i=1,T="ijkmnopqrstuvwxyzabcdefgh",E=0,n=T.charAt(E);!e;){for(var o=!1,s=0;s<t.length;s++)if(t[s].toLowerCase()==n){o=!0;break}o?(25==++E&&(E=0,i++),n=T.charAt(E),i>1&&(n+=i)):e=n}else e="i";return e}},L_=M_;
/**
* @license
* Visual Blocks Editor
*
* Copyright 2012 Google Inc.
* https://developers.google.com/blockly/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class R_{constructor(_,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),_)for(var e=_.split(","),i=0;i<e.length;i++)this.reservedDict_[e[i]]=!0;this.reset()}static equals(_,t){return _.toLowerCase()==t.toLowerCase()}reset(){this.db_=Object.create(null),this.dbReverse_=Object.create(null),this.variableMap_=null}setVariableMap(_){this.variableMap_=_}getNameForUserVariable_(_){if(!this.variableMap_)return null;var t=this.variableMap_.getVariableById(_);return t?t.name:null}getName(_,t){if(t==L_.NAME_TYPE){var e=this.getNameForUserVariable_(_);e&&(_=e)}var i=_.toLowerCase()+"_"+t,T=t==L_.NAME_TYPE||t==R_.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"";if(i in this.db_)return T+this.db_[i];var E=this.getDistinctName(_,t);return this.db_[i]=E.substr(T.length),E}getDistinctName(_,t){for(var e=this.safeName_(_),i="";this.dbReverse_[e+i]||e+i in this.reservedDict_;)i=i?i+1:2;return e+=i,this.dbReverse_[e]=!0,(t==L_.NAME_TYPE||t==R_.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"")+e}safeName_(_){return _?(_=encodeURI(_.replace(/ /g,"_")).replace(/[^,\w]/g,"_"),-1!="0123456789".indexOf(_[0])&&(_="my_"+_)):_="unnamed",_}}R_.DEVELOPER_VARIABLE_TYPE="DEVELOPER_VARIABLE";const r_=R_,S_=330,l_={init:function(){this.setColour(S_),this.appendDummyInput().appendField(new a_.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(a_.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){r_.equals(_,this.getFieldValue("VAR"))&&this.setFieldValue(t,"VAR")}},A_={init:function(){this.setColour(S_),this.appendValueInput("VALUE").appendField(new a_.FieldTextInput(""),"VAR").appendField(a_.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var _=this.getFieldValue("VAR");return null==_?[]:_.split(",")},renameVar:function(_,t){r_.equals(_,this.getFieldValue("VAR"))&&this.setFieldValue(t,"VAR")}},P_={init:function(){this.setColour(S_);var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"],[a_.Msg.LANG_MATH_BOOLEAN,"bool"],[a_.Msg.LANG_MATH_STRING,"str"],[a_.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[a_.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[a_.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new a_.FieldDropdown(_),"OP"),this.setOutput(!0)}},N_={init:function(){this.setColour(S_),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)}},d_={init:function(){this.setColour(S_),this.appendValueInput("DATA").appendField(a_.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(a_.Msg.MICROBIT_PYTHON_TYPE)}},h_={init:function(){this.setColour(S_),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[a_.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[a_.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[a_.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[a_.Msg.LANG_MATH_BYTE,"bytes"],[a_.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("type");return a_.Msg.MICROBIT_controls_TypeLists+{int:a_.Msg.LANG_MATH_INT,float:a_.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:a_.Msg.MIXLY_MICROBIT_TYPE_STRING,list:a_.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:a_.Msg.MIXLY_MICROBIT_TYPE_DICT,set:a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:a_.Msg.MIXLY_MICROBIT_IMAGE,bytes:a_.Msg.LANG_MATH_BYTE,NoneType:a_.Msg.LOGIC_NULL}[t]}))}},u_=120,m_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},C_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},c_={init:function(){var _=[[a_.Msg.MIXLY_mSecond,"delay"],[a_.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour(u_),this.appendValueInput("DELAY_TIME",Number).appendField(a_.Msg.MIXLY_DELAY).appendField(new a_.FieldDropdown(_),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},H_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},D_={init:function(){this.setColour(u_),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(a_.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(a_.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new a_.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var _=this;this.setTooltip((function(){return _.elseifCount_||_.elseCount_?!_.elseifCount_&&_.elseCount_?a_.Msg.CONTROLS_IF_TOOLTIP_2:_.elseifCount_&&!_.elseCount_?a_.Msg.CONTROLS_IF_TOOLTIP_3:_.elseifCount_&&_.elseCount_?a_.Msg.CONTROLS_IF_TOOLTIP_4:"":a_.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var _=document.createElement("mutation");return this.elseifCount_&&_.setAttribute("elseif",this.elseifCount_),this.elseCount_&&_.setAttribute("else",1),_},domToMutation:function(_){var t=this,e=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var T=this.elseifCount_;T>0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+T).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_if_if");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_if_elseif");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_if_else");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_if_else":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+_).appendField(a_.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},Y_={init:function(){this.setColour(u_),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},U_={init:function(){this.setColour(u_),this.appendValueInput("LIST").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(a_.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},B_={init:function(){this.setColour(u_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return{WHILE:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},g_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var _=document.createElement("mutation");return this.elseifCount_&&_.setAttribute("elseif",this.elseifCount_),this.elseCount_&&_.setAttribute("else",1),_},domToMutation:function(_){var t=this,e=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var T=this.elseifCount_;T>0;T--)t.getInputTargetBlock("IF"+T)&&t.getInputTargetBlock("IF"+T).previousConnection?e[T]=t.getInputTargetBlock("IF"+T).previousConnection:e[T]=null,this.removeInput("IF"+T),t.getInputTargetBlock("DO"+T)&&t.getInputTargetBlock("DO"+T).previousConnection?i[T]=t.getInputTargetBlock("DO"+T).previousConnection:i[T]=null,this.removeInput("DO"+T);this.elseifCount_=parseInt(_.getAttribute("elseif"),10),this.elseCount_=parseInt(_.getAttribute("else"),10);for(T=1;T<=this.elseifCount_;T++)this.appendValueInput("IF"+T).setCheck([Boolean,Number]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+T).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY);for(T=e.length-2;T>0;T--)e[T]&&e[T].reconnect(this,"IF"+T);for(T=i.length-2;T>0;T--)i[T]&&i[T].reconnect(this,"DO"+T)},decompose:function(_){var t=_.newBlock("controls_try");t.initSvg();for(var e=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var T=_.newBlock("controls_except");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}if(this.elseCount_){var E=_.newBlock("controls_finally");E.initSvg(),e.connect(E.previousConnection)}return t},compose:function(_){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var e=_.getInputTargetBlock("STACK"),i=[null],T=[null],E=null;e;){switch(e.type){case"controls_except":this.elseifCount_++,i.push(e.valueConnection_),T.push(e.statementConnection_);break;case"controls_finally":this.elseCount_++,E=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,T,E)},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+e),T=this.getInput("DO"+e);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=T&&T.connection.targetConnection,e++;break;case"controls_finally":T=this.getInput("ELSE");t.statementConnection_=T&&T.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var _=[null],t=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var T=this.getInput("IF"+i),E=this.getInput("DO"+i);console.log(T.connection.targetConnection),_.push(T.connection.targetConnection),t.push(E.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(_,t,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var _=1;this.getInput("IF"+_);)this.removeInput("IF"+_),this.removeInput("DO"+_),_++;for(_=1;_<=this.elseifCount_;_++)this.appendValueInput("IF"+_).setCheck([Number,Boolean]).appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+_).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(a_.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(_,t,e){for(var i=1;i<=this.elseifCount_;i++)_[i]&&_[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);e&&e.reconnect(this,"ELSE")}},G_={init:function(){this.setColour(u_);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var _=t.getFieldValue("FLOW");return{BREAK:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[_]}))},onchange:function(){if(this.workspace){var _=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},F_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},y_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new a_.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){return a_.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",_.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};B_.OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],G_.OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const f_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},b_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},x_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},v_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},X_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},V_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(a_.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},k_={init:function(){this.jsonInit({message0:a_.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:u_,tooltip:a_.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:a_.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},w_={init:function(){this.setColour(u_),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_STAT),this.setOutput(!0)}},W_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},K_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},z_={init:function(){this.appendDummyInput().appendField(a_.Msg.CONTROLS_REPEAT_TITLE_REPEAT+a_.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(a_.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new a_.FieldDropdown([[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(u_),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Z_=230;a_.FieldTextInput.math_number_validator=function(_){return String(_)},a_.FieldTextInput.math_number_validator_include_blank=function(_){if(""===_)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(_)?String(_):null};const Q_={init:function(){this.setColour(Z_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},J_={init:function(){this.setColour(Z_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},q_={init:function(){this.setColour(Z_);this.appendDummyInput("").appendField(a_.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new a_.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var _=this;this.setTooltip((function(){var t=_.getFieldValue("CONSTANT");return{pi:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:a_.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},j_={init:function(){this.setColour(Z_),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},$_={init:function(){this.setColour(Z_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{ADD:a_.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:a_.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:a_.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:a_.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:a_.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},_t={init:function(){this.setColour(Z_),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new a_.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},tt={init:function(){this.setColour(Z_),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{SIN:a_.Msg.MATH_TRIG_TOOLTIP_SIN,COS:a_.Msg.MATH_TRIG_TOOLTIP_COS,TAN:a_.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:a_.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:a_.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:a_.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:a_.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},et={init:function(){var _=[[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_HEX,"hex"]];this.setColour(Z_),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP");var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{bin:a_.Msg.MATH_DEC_TOOLTIP_BIN,oct:a_.Msg.MATH_DEC_TOOLTIP_OCT,hex:a_.Msg.MATH_DEC_TOOLTIP_HEX}[_]}))}},it={init:function(){var _=[[a_.Msg.LANG_MATH_TO_ROUND,"round"],[a_.Msg.LANG_MATH_TO_CEIL,"ceil"],[a_.Msg.LANG_MATH_TO_FLOOR,"floor"],[a_.Msg.MATH_ABS,"fabs"],[a_.Msg.MATH_SQRT,"sqrt"]];this.setColour(Z_),this.appendValueInput("A").setCheck(Number).appendField(new a_.FieldDropdown(_),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{sqrt:a_.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:a_.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:a_.Msg.MATH_SINGLE_TOOLTIP_SQ,round:a_.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:a_.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:a_.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[_]}))}},Tt={init:function(){var _=[[a_.Msg.MIXLY_MAX,"max"],[a_.Msg.MIXLY_MIN,"min"]];this.setColour(Z_),this.appendValueInput("A").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown(_),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{max:a_.Msg.MIXLY_TOOLTIP_MATH_MAX,min:a_.Msg.MIXLY_TOOLTIP_MATH_MIN}[_]}))}},Et={init:function(){var _=[[a_.Msg.MATH_TWO,"two"],[a_.Msg.MATH_EIGHT,"eight"],[a_.Msg.MATH_TEN,"ten"],[a_.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Z_),this.appendDummyInput("").appendField(a_.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new a_.FieldDropdown(_),"OP").appendField(a_.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MATH_ZHW).appendField(new a_.FieldDropdown(_),"OP2").appendField(a_.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e={two:a_.Msg.MATH_Before_two,eight:a_.Msg.MATH_Before_eight,ten:a_.Msg.MATH_Before_ten,sixteen:a_.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),T={two:a_.Msg.MATH_Behind_two,eight:a_.Msg.MATH_Behind_eight,ten:a_.Msg.MATH_Behind_ten,sixteen:a_.Msg.MATH_Behind_sixteen};return e[_]+T[i]}))}},nt={init:function(){var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Z_),this.setOutput(!0,Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_RANDOM).appendField(new a_.FieldDropdown(_),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TYPE"),e={int:a_.Msg.LANG_MATH_INT,float:a_.Msg.LANG_MATH_FLOAT_RANDOM};return a_.Msg.MATH_RANDOM_INT_TOOLTIP+e[_]}))}},ot={init:function(){this.setColour(Z_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(a_.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_CONSTRAIN_TOOLTIP)}},st={init:function(){this.setColour(Z_),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(a_.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(a_.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ot={init:function(){this.setColour(Z_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},It={init:function(){this.setColour(Z_),this.appendValueInput("NUM").setCheck(Number).appendField(a_.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},at={init:function(){this.setColour(Z_),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MATH_ROUND).appendField(a_.Msg.TEXT_KEEP),this.appendDummyInput().appendField(a_.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(a_.Msg.MATH_ROUND_NEW_TOOLTIP)}},pt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"],[a_.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Z_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:a_.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:a_.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[_]}))}},Mt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Z_),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{int:a_.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:a_.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[_]}))}},Lt=st,Rt=160,rt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}},St={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(a_.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(_){if(_==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new a_.FieldImage(t,12,12,'"')}};a_.FieldTextInput.char_validator=function(_){if(_.length>1&&"\\"===_.charAt(0)){var t=_.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(_).substring(0,2);if("x"===t&&"0"===_.charAt(2)&&"B"===_.charAt(3))return String(_).substring(0,4)}return String(_).substring(0,1)};const lt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new a_.FieldTextInput("",a_.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(a_.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(_){if(1==_)var t="../../media/quote2.png";else t="../../media/quote3.png";return new a_.FieldImage(t,7,12,'"')}},At={init:function(){this.setColour(Rt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(a_.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Pt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Nt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},dt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ht={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ut={init:function(){this.WHERE_OPTIONS=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.TEXT_GET_INDEX_RANDOM+1+a_.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.LISTS_GET_INDEX_GET,"MODE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(a_.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=_.getFieldValue("WHERE"),i="";switch(t+" "+e){case"GET FROM_START":case"GET FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=e&&"FROM_END"!=e||(i+=" "+a_.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",a_.Msg.ONE_BASED_INDEXING?"#1":"#0")),i}));var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHERE"),e={FROM_START:a_.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:a_.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:a_.Msg.TEXT_GET_INDEX_RANDOM};return a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+e[_]+"n"+a_.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==a_.INPUT_VALUE;return _.setAttribute("at",t),_},domToMutation:function(_){var t="true"==_.getAttribute("statement");this.updateStatement_(t),_="false"!=_.getAttribute("at"),this.updateAt_(_)},updateStatement_:function(_){_!=!this.outputConnection&&(this.unplug(!0,!0),_?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(_){this.removeInput("AT"),this.removeInput("ORDINAL",!0),_?(this.appendValueInput("AT").setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new a_.FieldDropdown(this.WHERE_OPTIONS,(function(t){var e="FROM_START"==t||"FROM_END"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),a_.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},mt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.LISTS_GET_INDEX_FROM_START+"n"+a_.Msg.TEXT_CHARAT2)}},Ct={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(a_.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(a_.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ct={init:function(){this.WHERE_OPTIONS_1=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[a_.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT1").type==a_.INPUT_VALUE;_.setAttribute("at1",t);var e=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",e),_},domToMutation:function(_){var t="true"==_.getAttribute("at1"),e="true"==_.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(_,t){this.removeInput("AT"+_),this.removeInput("ORDINAL"+_,!0),t?(this.appendValueInput("AT"+_).setCheck(Number),a_.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+_).appendField(a_.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+_);var e=new a_.FieldDropdown(this["WHERE_OPTIONS_"+_],(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var T=this.sourceBlock_;return T.updateAt_(_,i),T.setFieldValue(e,"WHERE"+_),null}}));this.getInput("AT"+_).appendField(e,"WHERE"+_),1==_&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ht={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(a_.Msg.LISTS_GET_INDEX_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(a_.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(a_.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Dt={init:function(){var _=[[a_.Msg.MIXLY_EQUALS,"==="],[a_.Msg.MIXLY_STARTSWITH,"startswith"],[a_.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Rt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new a_.FieldDropdown(_),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Yt={init:function(){this.setColour(Rt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_COMPARETO_HELP)}},Ut={init:function(){var _=[[a_.Msg.TEXT_UPPER,"upper"],[a_.Msg.TEXT_TITLE,"title"],[a_.Msg.TEXT_CAPITALIZE,"capitalize"],[a_.Msg.TEXT_SWAPCASE,"swapcase"],[a_.Msg.TEXT_LOWER,"lower"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown(_),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("CAPITAL");return{upper:a_.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:a_.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:a_.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:a_.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:a_.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[_]}))}},Bt={init:function(){var _=[[a_.Msg.TEXT_LJUST,"ljust"],[a_.Msg.TEXT_CENTER,"center"],[a_.Msg.TEXT_RJUST,"rjust"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(a_.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},gt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(a_.Msg.MIXLY_MID+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(a_.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Gt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ft={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(a_.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(a_.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},yt={init:function(){this.setColour(Rt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(a_.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(a_.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ft={init:function(){var _=[[a_.Msg.TEXT_TRIM_BOTH,"strip"],[a_.Msg.TEXT_TRIM_LEFT,"lstrip"],[a_.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Rt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"TOWHAT"),this.appendDummyInput("").appendField(a_.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("TOWHAT");return{strip:a_.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:a_.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:a_.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[_]}))}},bt={init:function(){this.setColour(Rt),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new a_.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("text_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("text_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField();else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.PROCEDURES_BEFORE_PARAMS)}},getVars:function(){if(null!=this.getFieldValue("VAR"))return-1==this.getFieldValue("VAR").indexOf("'")&&-1==this.getFieldValue("VAR").indexOf('"')?[this.getFieldValue("VAR")]:[]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},xt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(a_.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},vt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(a_.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xt=Ht,Vt=Yt,kt=mt,wt={init:function(){this.setColour(Rt),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendValueInput("VAR").setCheck(String),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("text_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("text_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField();else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.PROCEDURES_BEFORE_PARAMS)}}},Wt={init:function(){this.setColour(Rt);var _=[[a_.Msg.MIXPY_TEXT_ENCODE,"encode"],[a_.Msg.MIXPY_TEXT_DECODE,"decode"]];this.appendDummyInput().appendField(new a_.FieldDropdown([["ASCII","ASCII"],["gb2312","gb2312"],["gbk","gbk"],["utf-8","utf-8"],["utf-16","utf-16"],["utf-32","utf-32"]]),"CODE").appendField(" "),this.appendValueInput("VAR").appendField(new a_.FieldDropdown(_),"DIR").appendField(a_.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXPY_TEXT_ENCODE_DECODE_TOOLTIP)}},Kt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_PYTHON_TEXT_EVAL),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_TEXT_EVAL_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TEXT_EVAL_TOOLTIP)}},zt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_PYTHON_OS_SYSTEM),this.setInputsInline(!0),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_OS_SYSTEM_TOOLTIP)}},Zt=260,Qt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Zt),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM)}},Jt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Zt),this.appendValueInput("LIST"),this.appendDummyInput(""),this.appendValueInput("AT1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(a_.Msg.TEXT_CHARAT_TAIL+" "+a_.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.PYTHON_LISTS_GET_SUBLIST_TOOLTIP)}},qt={init:function(){this.appendValueInput("LIST").setCheck(null),this.appendValueInput("row").setCheck(null).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.DATAFRAME_RAW),this.appendValueInput("col").setCheck(null).appendField(a_.Msg.DATAFRAME_COLUMN),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Zt),this.setTooltip(""),this.setHelpUrl("")}},jt={init:function(){this.appendValueInput("LIST").setCheck(null),this.appendValueInput("row_start").setCheck(null).appendField(a_.Msg.MIXLY_GET+" "+a_.Msg.DATAFRAME_RAW+" ["),this.appendValueInput("row_end").setCheck(null).appendField(","),this.appendValueInput("col_start").setCheck(null).appendField(") "+a_.Msg.DATAFRAME_COLUMN+" ["),this.appendValueInput("col_end").setCheck(null).appendField(","),this.appendDummyInput().appendField(") "+a_.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0,"List"),this.setColour(Zt),this.setTooltip(""),this.setHelpUrl("")}},$t={init:function(){this.setColour(Zt),this.appendDummyInput("").appendField(new a_.FieldTextInput("mylist"),"VAR").appendField("[").appendField("]"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["lists_create_with_item"],this)),this.setTooltip(a_.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("lists_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("lists_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_e={init:function(){this.setColour(Zt),this.appendDummyInput("").appendField(new a_.FieldTextInput("mylist"),"VAR").appendField(" = [").appendField(new a_.FieldTextInput("0,0,0"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT2)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},te={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_LIST),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(a_.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ie={init:function(){this.setColour(Zt),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_LIST_ASSIGN_AT),this.appendValueInput("TO").appendField(a_.Msg.MIXLY_MICROBIT_JS_LIST_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.LANG_LISTS_SET_INDEX_TOOLTIP)}},Te={init:function(){this.setColour(Zt),this.TYPE=[[a_.Msg.MIXLY_blockpy_set_add,"append"],[a_.Msg.MIXLY_MICROBIT_LIST_EXTEND,"extend"]],this.appendValueInput("LIST").setCheck("List"),this.appendValueInput("DATA").appendField(new a_.FieldDropdown(this.TYPE),"OP").appendField(a_.Msg.MIXLY_MICROBIT_LIST_A_ITEM),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_LIST_TO_END),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{append:a_.Msg.MIXLY_TOOLTIP_LIST_APPEND,extend:a_.Msg.LISTS_EXTEND_TOOLTIP}[t]}))}},Ee={init:function(){this.setColour(Zt),this.appendValueInput("LIST"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.LISTS_GET_INDEX_RANDOM),this.setTooltip(a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM),this.setOutput(!0)}},ne={init:function(){this.setColour(Zt),this.appendValueInput("LIST"),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_RANDOM),this.appendDummyInput().appendField(a_.Msg.LANG_LISTS_GET_INDEX2+a_.Msg.LISTS_GET_RANDOM_SUBLIST),this.setTooltip(a_.Msg.LISTS_GET_RANDOM_SUBLIST_TOOLTIP),this.setOutput(!0,"List")}},oe={init:function(){this.setColour(Zt),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_LIST_INSERT_AT),this.appendValueInput("VALUE").appendField(a_.Msg.MIXLY_MICROBIT_JS_LIST_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.LANG_LISTS_SET_INDEX_TOOLTIP),this.setTooltip(a_.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT)}},se={init:function(){this.setColour(Zt),this.appendValueInput("VAR").setCheck("List"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_LIST_REVERSE),this.setTooltip(a_.Msg.LANG_LISTS_CLEAR_TOOLTIP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Oe={init:function(){this.setColour(Zt),this.appendValueInput("VAR"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_CLEAR),this.setTooltip(a_.Msg.LANG_LISTS_REVERSE_TOOLTIP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ie={init:function(){this.setColour(Zt),this.TYPE=[[a_.Msg.SERIES_INDEX,"del"],[a_.Msg.MIXLY_MICROBIT_JS_I2C_VALUE,"remove"]],this.appendValueInput("LIST").setCheck("List"),this.appendValueInput("DATA").appendField(a_.Msg.MIXLY_MIXPY_LISTS_REMOVE).appendField(new a_.FieldDropdown(this.TYPE),"OP"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("OP");return{del:a_.Msg.LISTS_SET_INDEX_TOOLTIP_DELETE,remove:a_.Msg.MIXLY_TOOLTIP_LIST_REMOVE}[t]}))}},ae={init:function(){this.setColour(Zt),this.appendValueInput("LIST"),this.appendValueInput("VALUE").appendField(a_.Msg.MIXLY_MICROBIT_LIST_POP),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM)}},pe={init:function(){var _=[[a_.Msg.MIXLY_LIST_INDEX,"INDEX"],[a_.Msg.MIXLY_LIST_COUNT,"COUNT"]];this.setColour(Zt),this.appendValueInput("VAR").setCheck("List"),this.appendValueInput("data").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.HTML_VALUE),this.appendDummyInput().appendField(a_.Msg.MIXLY_DE).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{INDEX:a_.Msg.MIXLY_TOOLTIP_LIST_FIND_INDEX,COUNT:a_.Msg.MIXLY_TOOLTIP_LIST_FIND_COUNT}[_]}))}},Me={init:function(){var _=[[a_.Msg.MIXLY_LIST_LEN,"LEN"],[a_.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[a_.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[a_.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[a_.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[a_.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[a_.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[a_.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"]];this.setColour(Zt),this.setOutput(!0,Number),this.appendValueInput("data"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{LEN:a_.Msg.LISTS_LENGTH_TOOLTIP,SUM:a_.Msg.MATH_ONLIST_TOOLTIP_SUM,MAX:a_.Msg.MATH_ONLIST_TOOLTIP_MAX,MIN:a_.Msg.MATH_ONLIST_TOOLTIP_MIN,AVERAGE:a_.Msg.MATH_ONLIST_TOOLTIP_AVERAGE,MEDIAN:a_.Msg.MATH_ONLIST_TOOLTIP_MEDIAN,MODE:a_.Msg.MATH_ONLIST_TOOLTIP_MODE,STD_DEV:a_.Msg.MATH_ONLIST_TOOLTIP_STD_DEV}[_]}))}},Le={init:function(){this.jsonInit({args0:[{type:"input_value",name:"LIST",check:"List"},{type:"field_dropdown",name:"TYPE",options:[[a_.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[a_.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[a_.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[a_.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[a_.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]}],message0:a_.Msg.LISTS_SORT_TITLE,inputsInline:!0,output:"List",colour:Zt,tooltip:a_.Msg.LISTS_SORT_TOOLTIP,helpUrl:a_.Msg.LISTS_SORT_HELPURL})}},Re={init:function(){var _=[[a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[a_.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD,"array"]];this.setColour(Zt),this.appendValueInput("VAR").setCheck("List"),this.appendDummyInput("").appendField(a_.Msg.A_TO_B).appendField(new a_.FieldDropdown(_),"OP");var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{tuple:a_.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_TUPLE,set:a_.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_SET,array:a_.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_ARRAY}[_]})),this.setInputsInline(!0),this.setOutput(!0)}},re={init:function(){this.setColour(Zt),this.appendDummyInput("").appendField("[").appendField(new a_.FieldTextInput("0,0,0"),"CONTENT").appendField("]"),this.setInputsInline(!0),this.setOutput(!0)}},Se={init:function(){this.setColour(Zt),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setMutator(new a_.icons.MutatorIcon(["lists_create_with_item"],this)),this.setTooltip(a_.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("lists_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("lists_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},le={init:function(){var _=[[a_.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"]];this.setColour(Zt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.A_TO_B).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0)}},Ae={init:function(){this.setColour(Zt),this.appendValueInput("TUP"),this.appendDummyInput("").appendField(a_.Msg.OBJECT_DELETE),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pe={init:function(){this.setColour(Zt),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setMutator(new a_.icons.MutatorIcon(["lists_zip_item"],this)),this.setTooltip(a_.Msg.MIXLY_PYTHON_LISTS_ZIP_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("lists_zip_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("lists_zip_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.MIXLY_PYTHON_LISTS_ZIP);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.MIXLY_PYTHON_LISTS_ZIP)}}},Ne={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_LISTS_ZIP).appendField("[]"),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP),this.contextMenu=!1}},de={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(a_.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM_TOOLTIP),this.contextMenu=!1}},he={init:function(){this.setColour(Zt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOLIST),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOLIST)}},ue=$t,me=_e,Ce=Qt,ce=Jt,He=ie,De=oe,Ye=Ie,Ue=he,Be=345,ge={init:function(){this.setColour(Be),this.appendDummyInput("").appendField(new a_.FieldTextInput("mydict"),"VAR").appendField(new a_.FieldLabel(a_.Msg.DICTS_CREATE_WITH_INPUT_WITH),"TIP"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("dicts_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("dicts_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var _=[],t=0;this.getInput("ADD"+t);t++)_.push(this.getFieldValue("KEY"+t)),this.removeInput("ADD"+t);if(0==this.itemCount_)this.getField("TIP").setValue(a_.Msg.DICTS_CREATE_EMPTY_TITLE);else{this.getField("TIP").setValue(a_.Msg.DICTS_CREATE_WITH_INPUT_WITH);for(t=0;t<this.itemCount_;t++)this.appendValueInput("ADD"+t).setCheck(null).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldTextInput(_.length>t?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ge={init:function(){this.setColour(Be),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Fe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ye={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_KEYS),this.setTooltip(a_.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},fe={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_TOOLTIP)}},be={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(a_.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},xe={init:function(){this.setColour(Be),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(a_.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ve={init:function(){this.setColour(Be),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(a_.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_DELETE_TOOLTIP)}},Xe={init:function(){this.setColour(Be),this.appendValueInput("DICT2").setCheck("Dict").appendField(a_.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(a_.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MID),this.setTooltip(a_.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ve={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_CLEAR),this.setTooltip(a_.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ke={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_ITEMS),this.setTooltip(a_.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},we={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_VALUES),this.setTooltip(a_.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},We={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_DELDICT),this.setTooltip(a_.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ze={init:function(){this.MODE=[[a_.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[a_.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(a_.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t="";switch(_.getFieldValue("WHERE")){case"INSERT":t=a_.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=a_.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",t),_},domToMutation:function(_){var t="true"==_.getAttribute("at2");this.updateAt_(t)},updateAt_:function(_){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),_?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new a_.FieldDropdown(this.MODE,(function(t){var e="INSERT"==t;if(e!=_){var i=this.sourceBlock_;return i.updateAt_(e),i.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Ze={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(a_.Msg.DICTS_ADD_VALUE),this.setTooltip(a_.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qe={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(a_.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(a_.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Je={init:function(){this.setColour(Be),this.appendDummyInput("").appendField(new a_.FieldLabel(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new a_.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("dicts_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("dicts_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var _=[],t=0;this.getInput("ADD"+t);t++)_.push(this.getFieldValue("KEY"+t)),this.removeInput("ADD"+t);if(0==this.itemCount_)this.getField("TIP").setValue(a_.Msg.LOGIC_NULL+a_.Msg.MIXLY_MICROBIT_TYPE_DICT);else{this.getField("TIP").setValue(a_.Msg.MIXLY_MICROBIT_TYPE_DICT);for(t=0;t<this.itemCount_;t++)this.appendValueInput("ADD"+t).setCheck(null).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldTextInput(_.length>t?_[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},qe={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},je={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TO_JSON),this.setTooltip(a_.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},$e={init:function(){this.setColour(Be),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(a_.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},_i=210,ti={init:function(){var _=a_.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(_i),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{EQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:a_.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:a_.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:a_.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:a_.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[_]})),this.prevBlocks_=[null,null]}},ei={init:function(){var _=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=a_.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(_i),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP1"),this.appendValueInput("C").appendField(new a_.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},ii={init:function(){var _=[[a_.Msg.LOGIC_OPERATION_AND,"AND"],[a_.Msg.LOGIC_OPERATION_OR,"OR"],[a_.Msg.LOGIC_OPERATION_NOR,"NOR"],[a_.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(_i),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{AND:a_.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:a_.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:a_.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[_]}))}},Ti={init:function(){this.setColour(_i),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(a_.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(a_.Msg.LOGIC_NEGATE_TOOLTIP)}},Ei={init:function(){var _=[[a_.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[a_.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(_i),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new a_.FieldDropdown(_),"BOOL"),this.setTooltip(a_.Msg.LOGIC_BOOLEAN_TOOLTIP)}},ni={init:function(){this.setColour(_i),this.setOutput(!0),this.appendDummyInput().appendField(a_.Msg.LOGIC_NULL),this.setTooltip(a_.Msg.LOGIC_NULL_TOOLTIP)}},oi={init:function(){this.setColour(_i),this.appendValueInput("A"),this.appendValueInput("B").appendField(a_.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(a_.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},si={init:function(){var _=[[a_.Msg.TEXT_APPEND_TO,"in"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(_i),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new a_.FieldDropdown(_),"BOOL"),this.appendDummyInput("").appendField(a_.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.IN)}},Oi={init:function(){var _=[[a_.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(_i),this.appendValueInput("A"),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Ii={init:function(){this.setColour(_i),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},ai={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(a_.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},Li={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXPY_TEXT_ENCODE).appendField(new a_.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_USE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,E=a_.Msg.MIXLY_BELONG,n=a_.Msg.PY_STORAGE_FILE_OBJECT;return e+{r:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+E+i+T+n}))}},Ri={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+a_.Msg.MIXLY_MICROBIT_TYPE_STRING+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},ri={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Si={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return e+{read:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i}))}},li={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MICROBIT_PYTHON_TYPE)}},Ai={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.HTML_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Ni={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},di={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const hi={init:function(){this.setColour(0),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},ui={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},mi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Ci={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,T=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return e+" "+{start:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+T+"x"+i}))}},ci={init:function(){this.setColour(0),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Hi={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+a_.Msg.MIXLY_ESP32_SET+{mkdir:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Di={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(a_.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Yi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Ui={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.HTML_FILE,"isfile"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Bi={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(a_.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gi={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(a_.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Gi={};Gi.NAME_TYPE=a_.PROCEDURE_CATEGORY_NAME,Gi.allProcedures=function(_){for(var t=_.getAllBlocks(!1),e=[],i=[],T=0;T<t.length;T++)if(t[T].getProcedureDef){var E=t[T].getProcedureDef();E&&(E[2]?e.push(E):i.push(E))}return i.sort(Gi.procTupleComparator_),e.sort(Gi.procTupleComparator_),[i,e]},Gi.procTupleComparator_=function(_,t){return _[0].toLowerCase().localeCompare(t[0].toLowerCase())},Gi.findLegalName=function(_,t){if(t.isInFlyout)return _;for(_=_||a_.Msg.UNNAMED_KEY||"unnamed";!Gi.isLegalName_(_,t.workspace,t);){var e=_.match(/^(.*?)(\d+)$/);e?_=e[1]+(parseInt(e[2],10)+1):_+="2"}return _},Gi.isLegalName_=function(_,t,e){return!Gi.isNameUsed(_,t,e)},Gi.isNameUsed=function(_,t,e){for(var i=t.getAllBlocks(!1),T=0;T<i.length;T++)if(i[T]!=e&&i[T].getProcedureDef){var E=i[T].getProcedureDef();if(a_.Names.equals(E[0],_))return!0}return!1},Gi.rename=function(_){_=_.trim();var t=Gi.findLegalName(_,this.getSourceBlock()),e=this.getValue();if(e!=_&&e!=t)for(var i=this.getSourceBlock().workspace.getAllBlocks(!1),T=0;T<i.length;T++)i[T].renameProcedure&&i[T].renameProcedure(e,t);return t},Gi.flyoutCategory=function(_){var t,e,i=[];a_.Blocks.procedures_defnoreturn&&((e=a_.utils.xml.createElement("block")).setAttribute("type","procedures_defnoreturn"),e.setAttribute("gap",16),(t=a_.utils.xml.createElement("field")).setAttribute("name","NAME"),t.appendChild(a_.utils.xml.createTextNode(a_.Msg.PROCEDURES_DEFNORETURN_PROCEDURE)),e.appendChild(t),i.push(e));a_.Blocks.procedures_defreturn&&((e=a_.utils.xml.createElement("block")).setAttribute("type","procedures_defreturn"),e.setAttribute("gap",16),(t=a_.utils.xml.createElement("field")).setAttribute("name","NAME"),t.appendChild(a_.utils.xml.createTextNode(a_.Msg.PROCEDURES_DEFRETURN_PROCEDURE)),e.appendChild(t),i.push(e));a_.Blocks.procedures_return&&((e=a_.utils.xml.createElement("block")).setAttribute("type","procedures_return"),e.setAttribute("gap",16),i.push(e));a_.Blocks.procedures_ifreturn&&((e=a_.utils.xml.createElement("block")).setAttribute("type","procedures_ifreturn"),e.setAttribute("gap",16),i.push(e));function T(_,t){for(var e=0;e<_.length;e++){var T=_[e][0],E=_[e][1],n=a_.utils.xml.createElement("block");n.setAttribute("type",t),n.setAttribute("gap",16);var o=a_.utils.xml.createElement("mutation");o.setAttribute("name",T),n.appendChild(o);for(var s=0;s<E.length;s++){var O=a_.utils.xml.createElement("arg");O.setAttribute("name",E[s]),o.appendChild(O)}i.push(n)}}i.length&&i[i.length-1].setAttribute("gap",24);var E=Gi.allProcedures(_);return T(E[0],"procedures_callnoreturn"),T(E[1],"procedures_callreturn"),i},Gi.getCallers=function(_,t){for(var e=[],i=t.getAllBlocks(!1),T=0;T<i.length;T++)if(i[T].getProcedureCall){var E=i[T].getProcedureCall();E&&a_.Names.equals(E,_)&&e.push(i[T])}return e},Gi.mutateCallers=function(_){const t=a_.Events.getRecordUndo(),e=_.getProcedureDef()[0],i=_.mutationToDom(!0),T=a_.Procedures.getCallers(e,_.workspace);for(let _,e=0;_=T[e];e++){const e=_.mutationToDom(),T=e&&a_.utils.xml.domToText(e);_.domToMutation&&_.domToMutation(i);const E=_.mutationToDom(),n=E&&a_.utils.xml.domToText(E);T!==n&&(a_.Events.setRecordUndo(!1),a_.Events.fire(new(a_.Events.get(a_.Events.BLOCK_CHANGE))(_,"mutation",null,T,n)),a_.Events.setRecordUndo(t))}},Gi.getDefinition=function(_,t){for(var e=t.getTopBlocks(!1),i=0;i<e.length;i++)if(e[i].getProcedureDef){var T=e[i].getProcedureDef();if(T&&a_.Names.equals(T[0],_))return e[i]}return null};const Fi=Gi,yi={init:function(){var _=Fi.findLegalName("",this),t=new a_.FieldTextInput(_,Fi.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new a_.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&a_.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(a_.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(a_.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(a_.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(_){this.hasStatements_!==_&&(_?(this.appendStatementInput("STACK").appendField(a_.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=_)},updateParams_:function(){var _="";this.arguments_.length&&(_=a_.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),a_.Events.disable();try{this.setFieldValue(_,"PARAMS")}finally{a_.Events.enable()}},mutationToDom:function(_){var t=a_.utils.xml.createElement("mutation");_&&t.setAttribute("name",this.getFieldValue("NAME"));for(var e=0;e<this.argumentVarModels_.length;e++){var i=a_.utils.xml.createElement("arg"),T=this.argumentVarModels_[e];i.setAttribute("name",T.name),i.setAttribute("varid",T.getId()),_&&this.paramIds_&&i.setAttribute("paramId",this.paramIds_[e]),t.appendChild(i)}return this.hasStatements_||t.setAttribute("statements","false"),t},domToMutation:function(_){this.arguments_=[],this.argumentVarModels_=[];for(var t,e=0;t=_.childNodes[e];e++)if("arg"==t.nodeName.toLowerCase()){var i=t.getAttribute("name"),T=t.getAttribute("varid")||t.getAttribute("varId");this.arguments_.push(i);var E=a_.Variables.getOrCreateVariablePackage(this.workspace,T,i,"");null!=E?this.argumentVarModels_.push(E):console.log("Failed to create a variable with name "+i+", ignoring.")}this.updateParams_(),Fi.mutateCallers(this),this.setStatements_("false"!==_.getAttribute("statements"))},decompose:function(_){var t=a_.utils.xml.createElement("block");t.setAttribute("type","procedures_mutatorcontainer");var e=a_.utils.xml.createElement("statement");e.setAttribute("name","STACK"),t.appendChild(e);for(var i=e,T=0;T<this.arguments_.length;T++){var E=a_.utils.xml.createElement("block");E.setAttribute("type","procedures_mutatorarg");var n=a_.utils.xml.createElement("field");n.setAttribute("name","NAME");var o=a_.utils.xml.createTextNode(this.arguments_[T]);n.appendChild(o),E.appendChild(n);var s=a_.utils.xml.createElement("next");E.appendChild(s),i.appendChild(E),i=s}var O=a_.Xml.domToBlock(t,_);return"procedures_defreturn"==this.type?O.setFieldValue(this.hasStatements_,"STATEMENTS"):O.removeInput("STATEMENT_INPUT"),Fi.mutateCallers(this),O},compose:function(_){this.arguments_=[],this.paramIds_=[],this.argumentVarModels_=[];for(var t=_.getInputTargetBlock("STACK");t&&!t.isInsertionMarker();){var e=t.getFieldValue("NAME");this.arguments_.push(e);var i=this.workspace.getVariable(e,"");this.argumentVarModels_.push(i),this.paramIds_.push(t.id),t=t.nextConnection&&t.nextConnection.targetBlock()}this.updateParams_(),Fi.mutateCallers(this);var T=_.getFieldValue("STATEMENTS");if(null!==T&&(T="TRUE"==T,this.hasStatements_!=T))if(T)this.setStatements_(!0),this.statementConnection_&&this.statementConnection_.reconnect(this,"STACK"),this.statementConnection_=null;else{var E=this.getInput("STACK").connection;if(this.statementConnection_=E.targetConnection,this.statementConnection_){var n=E.targetBlock();n.unplug(),n.bumpNeighbours()}this.setStatements_(!1)}},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(_,t){var e=this.workspace.getVariableById(_);if(""==e.type){for(var i=e.name,T=this.workspace.getVariableById(t),E=!1,n=0;n<this.argumentVarModels_.length;n++)this.argumentVarModels_[n].getId()==_&&(this.arguments_[n]=T.name,this.argumentVarModels_[n]=T,E=!0);E&&(this.displayRenamedVar_(i,T.name),Fi.mutateCallers(this))}},updateVarName:function(_){for(var t=_.name,e=!1,i=0;i<this.argumentVarModels_.length;i++)if(this.argumentVarModels_[i].getId()==_.getId()){var T=this.arguments_[i];this.arguments_[i]=t,e=!0}e&&(this.displayRenamedVar_(T,t),Fi.mutateCallers(this))},displayRenamedVar_:function(_,t){this.updateParams_();const e=this.getIcon(a_.icons.MutatorIcon.TYPE);if(e&&e.bubbleIsVisible())for(var i,T=e.getWorkspace().getAllBlocks(!1),E=0;i=T[E];E++)"procedures_mutatorarg"==i.type&&a_.Names.equals(_,i.getFieldValue("NAME"))&&i.setFieldValue(t,"NAME")},customContextMenu:function(_){if(!this.isInFlyout){var t={enabled:!0},e=this.getFieldValue("NAME");t.text=a_.Msg.PROCEDURES_CREATE_DO.replace("%1",e);var i=a_.utils.xml.createElement("mutation");i.setAttribute("name",e);for(var T=0;T<this.arguments_.length;T++){var E=a_.utils.xml.createElement("arg");E.setAttribute("name",this.arguments_[T]),i.appendChild(E)}var n=a_.utils.xml.createElement("block");if(n.setAttribute("type",this.callType_),n.appendChild(i),t.callback=a_.ContextMenu.callbackFactory(this,n),_.push(t),!this.isCollapsed())for(T=0;T<this.argumentVarModels_.length;T++){var o={enabled:!0},s=this.argumentVarModels_[T];o.text=a_.Msg.VARIABLES_SET_CREATE_GET.replace("%1",s.name);var O=a_.Variables.generateVariableFieldDom(s),I=a_.utils.xml.createElement("block");I.setAttribute("type","variables_get"),I.appendChild(O),o.callback=a_.ContextMenu.callbackFactory(this,I),_.push(o)}}},callType_:"procedures_callnoreturn"},fi={init:function(){var _=Fi.findLegalName("",this),t=new a_.FieldTextInput(_,Fi.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.appendValueInput("RETURN").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.setMutator(new a_.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&a_.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(a_.Msg.PROCEDURES_DEFRETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_TOOLTIP),this.setHelpUrl(a_.Msg.PROCEDURES_DEFRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:yi.setStatements_,updateParams_:yi.updateParams_,mutationToDom:yi.mutationToDom,domToMutation:yi.domToMutation,decompose:yi.decompose,compose:yi.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:yi.getVars,getVarModels:yi.getVarModels,renameVarById:yi.renameVarById,updateVarName:yi.updateVarName,displayRenamedVar_:yi.displayRenamedVar_,customContextMenu:yi.customContextMenu,callType_:"procedures_callreturn"},bi={init:function(){this.appendDummyInput().appendField(a_.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.appendDummyInput("STATEMENT_INPUT").appendField(a_.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new a_.FieldCheckbox("TRUE"),"STATEMENTS"),this.setStyle("procedure_blocks"),this.setTooltip(a_.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP),this.contextMenu=!1}},xi={init:function(){var _=new a_.FieldTextInput(Fi.DEFAULT_ARG,this.validator_);_.oldShowEditorFn_=_.showEditor_;_.showEditor_=function(){this.createdVariables_=[],this.oldShowEditorFn_()},this.appendDummyInput().appendField(a_.Msg.PROCEDURES_BEFORE_PARAMS).appendField(_,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(a_.Msg.PROCEDURES_MUTATORARG_TOOLTIP),this.contextMenu=!1,_.onFinishEditing_=this.deleteIntermediateVars_,_.createdVariables_=[],_.onFinishEditing_("x")},validator_:function(_){var t=this.getSourceBlock(),e=t.workspace.getRootWorkspace();if(!(_=_.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"")))return null;for(var i=(t.workspace.targetWorkspace||t.workspace).getAllBlocks(!1),T=_.toLowerCase(),E=0;E<i.length;E++)if(i[E].id!=this.getSourceBlock().id){var n=i[E].getFieldValue("NAME");if(n&&n.toLowerCase()==T)return null}if(t.isInFlyout)return _;var o=e.getVariable(_,"");return o&&o.name!=_&&e.renameVariableById(o.getId(),_),o||(o=e.createVariable(_,""))&&this.createdVariables_&&this.createdVariables_.push(o),_},deleteIntermediateVars_:function(_){var t=this.getSourceBlock().workspace.getRootWorkspace();if(t)for(var e=0;e<this.createdVariables_.length;e++){var i=this.createdVariables_[e];i.name!=_&&t.deleteVariableById(i.getId())}}},vi={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(a_.Msg.PROCEDURES_CALLNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(_,t){if(a_.Names.equals(_,this.getProcedureCall())){this.setFieldValue(t,"NAME");var e=this.outputConnection?a_.Msg.PROCEDURES_CALLRETURN_TOOLTIP:a_.Msg.PROCEDURES_CALLNORETURN_TOOLTIP;this.setTooltip(e.replace("%1",t))}},setProcedureParameters_:function(_,t){var e=Fi.getDefinition(this.getProcedureCall(),this.workspace);const i=e&&e.getIcon(a_.icons.MutatorIcon.TYPE),T=i&&i.bubbleIsVisible();if(T||(this.quarkConnections_={},this.quarkIds_=null),t)if(_.join("\n")!=this.arguments_.join("\n")){if(t.length!=_.length)throw Error("paramNames and paramIds must be the same length.");this.setCollapsed(!1),this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]);var E=this.rendered;this.rendered=!1;for(var n=0;n<this.arguments_.length;n++){var o=this.getInput("ARG"+n);if(o){var s=o.connection.targetConnection;this.quarkConnections_[this.quarkIds_[n]]=s,T&&s&&-1==t.indexOf(this.quarkIds_[n])&&(s.disconnect(),s.getSourceBlock().bumpNeighbours())}}this.arguments_=[].concat(_),this.argumentVarModels_=[];for(n=0;n<this.arguments_.length;n++){var O=a_.Variables.getOrCreateVariablePackage(this.workspace,null,this.arguments_[n],"");this.argumentVarModels_.push(O)}if(this.updateShape_(),this.quarkIds_=t,this.quarkIds_)for(n=0;n<this.arguments_.length;n++){var I=this.quarkIds_[n];if(I in this.quarkConnections_)(s=this.quarkConnections_[I])&&!s.reconnect(this,"ARG"+n)&&delete this.quarkConnections_[I]}this.rendered=E,this.rendered&&this.render()}else this.quarkIds_=t},updateShape_:function(){for(var _=0;_<this.arguments_.length;_++){var t=this.getField("ARGNAME"+_);if(t){a_.Events.disable();try{t.setValue(this.arguments_[_])}finally{a_.Events.enable()}}else{t=new a_.FieldLabel(this.arguments_[_]),this.appendValueInput("ARG"+_).setAlign(a_.inputs.Align.RIGHT).appendField(t,"ARGNAME"+_).init()}}for(;this.getInput("ARG"+_);)this.removeInput("ARG"+_),_++;var e=this.getInput("TOPROW");e&&(this.arguments_.length?this.getField("WITH")||(e.appendField(a_.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),e.init()):this.getField("WITH")&&e.removeField("WITH"))},mutationToDom:function(){var _=a_.utils.xml.createElement("mutation");_.setAttribute("name",this.getProcedureCall());for(var t=0;t<this.arguments_.length;t++){var e=a_.utils.xml.createElement("arg");e.setAttribute("name",this.arguments_[t]),_.appendChild(e)}return _},domToMutation:function(_){var t=_.getAttribute("name");this.renameProcedure(this.getProcedureCall(),t);for(var e,i=[],T=[],E=0;e=_.childNodes[E];E++)"arg"==e.nodeName.toLowerCase()&&(i.push(e.getAttribute("name")),T.push(e.getAttribute("paramId")));this.setProcedureParameters_(i,T)},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},onchange:function(_){if(this.workspace&&!this.workspace.isFlyout&&_.recordUndo)if(_.type==a_.Events.BLOCK_CREATE&&-1!=_.ids.indexOf(this.id)){var t=this.getProcedureCall();if((M=Fi.getDefinition(t,this.workspace))&&M.type!=this.defType_&&(M=null),M){if(JSON.stringify(M.getVars())!=JSON.stringify(this.arguments_)){let _=M.arguments_,t=[];for(var e=0;e<this.arguments_.length;e++){var i=this.getInput("ARG"+e);if(i){var T=i.connection.targetConnection;T?t.push(T.sourceBlock_.id):t.push(null)}}this.setProcedureParameters_(_,t)}}else{a_.Events.setGroup(_.group);var E=a_.utils.xml.createElement("xml"),n=a_.utils.xml.createElement("block");n.setAttribute("type",this.defType_);var o=this.getRelativeToSurfaceXY(),s=o.x+a_.SNAP_RADIUS*(this.RTL?-1:1),O=o.y+2*a_.SNAP_RADIUS;n.setAttribute("x",s),n.setAttribute("y",O);var I=this.mutationToDom();n.appendChild(I);var a=a_.utils.xml.createElement("field");a.setAttribute("name","NAME");var p=this.getProcedureCall();p||(p=Fi.findLegalName("",this),this.renameProcedure("",p)),a.appendChild(a_.utils.xml.createTextNode(p)),n.appendChild(a),E.appendChild(n),a_.Xml.domToWorkspace(E,this.workspace),a_.Events.setGroup(!1)}}else if(_.type==a_.Events.BLOCK_DELETE){t=this.getProcedureCall();(M=Fi.getDefinition(t,this.workspace))||(a_.Events.setGroup(_.group),this.dispose(!0),a_.Events.setGroup(!1))}else if(_.type==a_.Events.CHANGE&&"disabled"==_.element){var M;t=this.getProcedureCall();if((M=Fi.getDefinition(t,this.workspace))&&M.id==_.blockId){var L=a_.Events.getGroup();L&&console.log("Saw an existing group while responding to a definition change"),a_.Events.setGroup(_.group),_.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),a_.Events.setGroup(L)}}},customContextMenu:function(_){if(this.workspace.isMovable()){var t={enabled:!0};t.text=a_.Msg.PROCEDURES_HIGHLIGHT_DEF;var e=this.getProcedureCall(),i=this.workspace;t.callback=function(){var _=Fi.getDefinition(e,i);_&&(i.centerOnBlock(_.id),_.select())},_.push(t)}},defType_:"procedures_defnoreturn"},Xi={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setOutput(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(a_.Msg.PROCEDURES_CALLRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:vi.getProcedureCall,renameProcedure:vi.renameProcedure,setProcedureParameters_:vi.setProcedureParameters_,updateShape_:vi.updateShape_,mutationToDom:vi.mutationToDom,domToMutation:vi.domToMutation,getVars:vi.getVars,getVarModels:vi.getVarModels,onchange:vi.onchange,customContextMenu:vi.customContextMenu,defType_:"procedures_defreturn"},Vi={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(a_.Msg.CONTROLS_IF_MSG_IF),this.appendValueInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(a_.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.setHelpUrl(a_.Msg.PROCEDURES_IFRETURN_HELPURL),this.hasReturnValue_=!0},mutationToDom:function(){var _=a_.utils.xml.createElement("mutation");return _.setAttribute("value",Number(this.hasReturnValue_)),_},domToMutation:function(_){var t=_.getAttribute("value");this.hasReturnValue_=1==t,this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(){if(this.workspace.isDragging&&!this.workspace.isDragging()){var _=!1,t=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(t.type)){_=!0;break}t=t.getSurroundParent()}while(t);_?("procedures_defnoreturn"==t.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=t.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(a_.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]},ki={init:function(){this.setStyle("procedure_blocks"),this.appendValueInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.hasReturnValue_=!0},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("value",Number(this.hasReturnValue_)),_},domToMutation:function(_){var t=_.getAttribute("value");this.hasReturnValue_=1==t,this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(){var _=!1,t=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(t.type)){_=!0;break}t=t.getSurroundParent()}while(t);_?("procedures_defnoreturn"==t.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=t.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null)):this.setWarningText(a_.Msg.PROCEDURES_IFRETURN_WARNING)},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn","method_procedures_defnoreturn","method_procedures_defreturn"]},wi=195,Wi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new a_.FieldTextInput("mytup"),"VAR"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["tuple_create_with_item"],this)),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("tuple_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("tuple_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.TUPLE_CREATE_EMPTY_TITLE);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.TUPLE_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ki={init:function(){this.setColour(wi),this.appendDummyInput().appendField(a_.Msg.TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},zi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(a_.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new a_.FieldTextInput("mytup"),"VAR").appendField(" = (").appendField(new a_.FieldTextInput("0,0,0"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Qi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField("(").appendField(new a_.FieldTextInput("0,0,0"),"TEXT").appendField(")"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT)}},Ji={init:function(){this.setColour(wi),this.setOutput(!0),this.appendValueInput("TUP").setCheck("Tuple"),this.appendValueInput("AT").setCheck(Number).appendField(a_.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(a_.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(a_.Msg.TUPLE_GET_INDEX_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("TUP"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.TUPLE_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},ji={init:function(){this.setColour(wi),this.appendValueInput("TUP").setCheck("Tuple"),this.appendDummyInput("").appendField(a_.Msg.TUPLE_DEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.TUPLE_DEL_TOOLTIP)}},$i={init:function(){this.setColour(wi),this.appendValueInput("TUP1").setCheck("Tuple"),this.appendDummyInput("").appendField(a_.Msg.TUPLE_JOIN),this.appendValueInput("TUP2").setCheck("Tuple"),this.setInputsInline(!0),this.setTooltip(a_.Msg.TUPLE_JOIN_TOOLTIP),this.setOutput(!0,"Tuple")}},_T={init:function(){this.appendValueInput("TUP").setCheck("Tuple");var _=[[a_.Msg.blockpy_TUPLE_MAX,"max"],[a_.Msg.blockpy_TUPLE_MIN,"min"],[a_.Msg.MATH_ONLIST_OPERATOR_SUM,"sum"]];this.setColour(wi),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown(_),"DIR"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("DIR");return{max:a_.Msg.MIXLY_TOOLTIP_TUPLE_MAX,min:a_.Msg.MIXLY_TOOLTIP_TUPLE_MIN,sum:a_.Msg.MIXLY_TOOLTIP_TUPLE_SUM}[_]}))}},tT={init:function(){var _=[[a_.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"]];this.setColour(wi),this.appendValueInput("VAR").setCheck("Tuple"),this.appendDummyInput("").appendField(a_.Msg.A_TO_B).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{list:a_.Msg.TUPLE_TO_LISTS,set:a_.Msg.TUPLE_TO_SET}[_]}))}},eT={init:function(){var _=[[a_.Msg.MIXLY_LIST_INDEX,"INDEX"],[a_.Msg.MIXLY_LIST_COUNT,"COUNT"]];this.setColour(wi),this.appendValueInput("VAR").setCheck("List"),this.appendValueInput("data").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.HTML_VALUE),this.appendDummyInput().appendField(a_.Msg.MIXLY_DE).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{INDEX:a_.Msg.MIXLY_TOOLTIP_TUPLE_FIND_INDEX,COUNT:a_.Msg.MIXLY_TOOLTIP_TUPLE_FIND_COUNT}[_]}))}},iT={init:function(){var _=[[a_.Msg.MIXLY_LIST_LEN,"LEN"],[a_.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[a_.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[a_.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[a_.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[a_.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[a_.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[a_.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"]];this.setColour(wi),this.setOutput(!0,Number),this.appendValueInput("data").setCheck("List"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{LEN:a_.Msg.TUPLE_LENGTH_TOOLTIP,SUM:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_SUM,MAX:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MAX,MIN:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MIN,AVERAGE:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_AVERAGE,MEDIAN:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MEDIAN,MODE:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MODE,STD_DEV:a_.Msg.MATH_ONLIST_TOOLTIP_TUPLE_STD_DEV}[_]}))}},TT={init:function(){this.WHERE_OPTIONS_1=[[a_.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[a_.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[a_.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[a_.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("LIST").setCheck("List"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(a_.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation"),t=this.getInput("AT1").type==a_.INPUT_VALUE;_.setAttribute("at1",t);var e=this.getInput("AT2").type==a_.INPUT_VALUE;return _.setAttribute("at2",e),_},domToMutation:function(_){var t="true"==_.getAttribute("at1"),e="true"==_.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(_,t){this.removeInput("AT"+_),this.removeInput("ORDINAL"+_,!0),t?(this.appendValueInput("AT"+_).setCheck(Number),a_.Msg.TEXT_CHARAT_TAIL&&this.appendDummyInput("ORDINAL"+_).appendField(a_.Msg.TEXT_CHARAT_TAIL)):this.appendDummyInput("AT"+_);var e=new a_.FieldDropdown(this["WHERE_OPTIONS_"+_],(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var T=this.sourceBlock_;return T.updateAt_(_,i),T.setFieldValue(e,"WHERE"+_),null}}));this.getInput("AT"+_).appendField(e,"WHERE"+_),1==_&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ET={init:function(){this.setColour(wi),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"Tuple"),this.setMutator(new a_.icons.MutatorIcon(["tuple_create_with_item"],this)),this.setTooltip(a_.Msg.TUPLE_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("tuple_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("tuple_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.TUPLE_CREATE_EMPTY_TITLE);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.TUPLE_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},nT={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("LIST"),this.appendDummyInput(""),this.appendValueInput("AT1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(a_.Msg.TEXT_CHARAT_TAIL+" "+a_.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(a_.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0,"Tuple"),this.setTooltip(a_.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP)}},oT={init:function(){this.setColour(wi),this.appendValueInput("TUP"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+a_.Msg.LISTS_GET_INDEX_RANDOM),this.setTooltip(a_.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM),this.setOutput(!0)}},sT={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOTUPLE),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOTUPLE)}},OT=100,IT={init:function(){this.setColour(OT),this.appendDummyInput("").appendField(new a_.FieldTextInput("s1"),"VAR"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["set_create_with_item"],this)),this.setTooltip(a_.Msg.blockpy_SET_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("set_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("set_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.blockpy_SET_CREATE_EMPTY_TITLE);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.blockpy_SET_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},aT={init:function(){this.setColour(OT),this.appendDummyInput().appendField(a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},pT={init:function(){this.setColour(OT),this.appendDummyInput().appendField(a_.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.blockpy_SET_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},MT={init:function(){this.setColour(OT),this.appendValueInput("SET"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setInputsInline(!0),this.setTooltip(a_.Msg.SET_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},LT={init:function(){this.setColour(OT),this.appendValueInput("SET").setCheck("Set"),this.appendDummyInput("").appendField(a_.Msg.blockpy_SET_GET_AND_REMOVE_LAST),this.setTooltip(a_.Msg.SET_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},RT={init:function(){this.setColour(OT),this.appendValueInput("SET").setCheck("Set"),this.appendDummyInput("").appendField(a_.Msg.SET_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rT={init:function(){this.appendValueInput("SET1").setCheck("Set");var _=[[a_.Msg.blockpy_set_union,"union"],[a_.Msg.blockpy_set_intersection,"intersection"],[a_.Msg.blockpy_set_difference,"difference"]];this.setColour(OT),this.appendDummyInput("").appendField(a_.Msg.blockpy_and_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(a_.Msg.blockpy_set_get_operate).appendField(new a_.FieldDropdown(_),"OPERATE"),this.setInputsInline(!0),this.setOutput(!0,"set");var t=this;this.setTooltip((function(){var _=t.getFieldValue("OPERATE");return{union:a_.Msg.MIXLY_TOOLTIP_SET_UNION,intersection:a_.Msg.MIXLY_TOOLTIP_SET_INTERSECTION,difference:a_.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE}[_]}))}},ST={init:function(){this.appendValueInput("SET1").setCheck("Set");var _=[[a_.Msg.blockpy_set_union,"update"],[a_.Msg.blockpy_set_intersection,"intersection_update"],[a_.Msg.blockpy_set_difference,"difference_update"]];this.setColour(OT),this.appendDummyInput("").appendField(a_.Msg.blockpy_and_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(a_.Msg.blockpy_set_get_operate).appendField(new a_.FieldDropdown(_),"OPERATE"),this.appendDummyInput("").appendField(a_.Msg.blockpy_set_update),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OPERATE");return{update:a_.Msg.MIXLY_TOOLTIP_SET_UPDATE,intersection_update:a_.Msg.MIXLY_TOOLTIP_SET_INTERSECTION_UPDATE,difference_update:a_.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE_UPDATE}[_]}))}},lT={init:function(){this.appendValueInput("SET").setCheck("Set");var _=[[a_.Msg.MIXLY_blockpy_set_add,"add"],[a_.Msg.MIXLY_blockpy_set_discard,"discard"]];this.setColour(OT),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"OPERATE"),this.appendValueInput("data").appendField(a_.Msg.blockpy_SET_VARIABLES_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OPERATE");return{add:a_.Msg.SET_ADD_TOOLTIP,discard:a_.Msg.SET_DISCARD_TOOLTIP}[_]}))}},AT={init:function(){this.appendValueInput("SET1").setCheck("Set");var _=[[a_.Msg.blockpy_set_sub,"issubset"],[a_.Msg.blockpy_set_super,"issuperset"]];this.setColour(OT),this.appendDummyInput("").appendField(a_.Msg.blockpy_is_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(a_.Msg.blockpy_set_of).appendField(new a_.FieldDropdown(_),"OPERATE"),this.setInputsInline(!0),this.setOutput(!0,Boolean);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OPERATE");return{issubset:a_.Msg.MIXLY_TOOLTIP_SET_SUB,issuperset:a_.Msg.MIXLY_TOOLTIP_SET_SUPER}[_]}))}},PT={init:function(){this.appendValueInput("SET").setCheck("Set"),this.setColour(OT),this.appendValueInput("VAR").setCheck([String,"List"]).appendField(a_.Msg.blockpy_set_add_update),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.SET_UPDATE_TOOLTIP)}},NT={init:function(){this.setColour(OT),this.appendDummyInput("").appendField("{").appendField(new a_.FieldTextInput("0,0,0"),"TEXT").appendField("}"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXPY_TOOLTIP_SET_CREATE_WITH_TEXT)}},dT={init:function(){this.setColour(OT),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOSET),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOSET)}},hT="#1ec1e4",uT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_DOCUMENT),this.appendStatementInput("HEAD").appendField(a_.Msg.HTML_HEAD),this.appendStatementInput("BODY").appendField(a_.Msg.HTML_BODY),this.setOutput(!0)}},mT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_LEVEL).appendField(new a_.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.HTML_HEAD,"head"],[a_.Msg.HTML_BODY,"body"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.HTML_P,"p"],[a_.Msg.HTML_SPAN,"span"],[a_.Msg.HTML_FORM,"form"],[a_.Msg.HTML_TABLE,"table"],[a_.Msg.HTML_LINE,"tr"],[a_.Msg.HTML_CELL,"td"],[a_.Msg.HTML_OL,"ol"],[a_.Msg.HTML_UL,"ul"],[a_.Msg.HTML_LI,"li"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HT={init:function(){this.setColour(hT),this.appendDummyInput().appendField("<").appendField(new a_.FieldTextInput("tag"),"LEVEL").appendField(">"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},YT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_FORM_CONTENT).appendField(new a_.FieldDropdown([[a_.Msg.HTML_TEXT,"text"],[a_.Msg.HTML_EMAIL,"email"],[a_.Msg.HTML_NUMBER,"number"],[a_.Msg.HTML_PASSWORD,"password"],[a_.Msg.HTML_CHECKBOX,"checkbox"],[a_.Msg.HTML_RADIOBUTTON,"radiobutton"],[a_.Msg.HTML_BUTTON,"button"],[a_.Msg.HTML_COLOUR,"colour"],[a_.Msg.HTML_DATE,"date"],[a_.Msg.HTML_LOCALTIME,"local time"],[a_.Msg.HTML_FILE,"file"],[a_.Msg.HTML_HIDDEN,"hidden"],[a_.Msg.HTML_IMAGE,"image"],[a_.Msg.HTML_MONTH,"month"],[a_.Msg.HTML_RANGE,"range"],[a_.Msg.HTML_RESET,"reset"],[a_.Msg.HTML_SEARCH,"search"],[a_.Msg.HTML_SUBMIT,"submit"],[a_.Msg.HTML_TELEPHONENUMBER,"telephone number"],[a_.Msg.HTML_TIME,"time"],[a_.Msg.HTML_URL,"url"],[a_.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(a_.Msg.HTML_NAME).appendField(new a_.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(a_.Msg.HTML_VALUE).appendField(new a_.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(a_.Msg.MIXLY_AIP_ATTR).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_TEXT).appendField(new a_.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GT=160,FT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new a_.FieldTable(""),"TEXT")}},yT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT")}},fT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},bT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},xT={init:function(){this.setColour(GT),this.appendDummyInput().appendTitle("Comment:").appendTitle(new a_.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},vT={init:function(){this.setColour(GT),this.appendValueInput("VALUE").appendField(a_.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},XT={init:function(){this.setColour(GT),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=a_.Block.obtain(_,"text_print_multiple_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("text_print_multiple_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("PRINT"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("PRINT"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("PRINT"+_);)this.removeInput("PRINT"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField("print");else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("PRINT"+_);0==_&&t.appendField("print")}}},VT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("print"),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},kT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("item"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(""),this.contextMenu=!1}},wT={init:function(){this.setColour(GT),this.itemCount_=1,this.hasReturn_=!1,this.appendDummyInput().appendField(new a_.FieldTextInput("str"),"NAME"),this.updateShape_(),this.setMutator(new a_.icons.MutatorIcon(["function_call_item"],this)),this.setTooltip("Can be used to call any function")},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_.setAttribute("hasReturn",this.hasReturn_?"TRUE":"FALSE"),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.hasReturn_="TRUE"===_.getAttribute("hasReturn"),this.updateShape_()},decompose:function(_){var t=a_.Block.obtain(_,"function_call_container");t.initSvg(),t.setFieldValue(this.hasStatements_?"TRUE":"FALSE","RETURN");for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("function_call_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},setReturn:function(_){this.unplug(!0,!0),this.setOutput(_),this.setPreviousStatement(!_),this.setNextStatement(!_),this.rendered&&this.render()},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.hasReturn_="TRUE"===_.getFieldValue("RETURN"),this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ARGUMENT"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ARGUMENT"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ARGUMENT"+_);)this.removeInput("ARGUMENT"+_),_++;for(_=0;_<this.itemCount_;_++)this.appendValueInput("ARGUMENT"+_);this.setReturn(this.hasReturn_)}},WT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("Arguments"),this.appendStatementInput("STACK"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("has return").appendField(new a_.FieldCheckbox("TRUE"),"RETURN"),this.setTooltip(""),this.contextMenu=!1}},KT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("argument"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(""),this.contextMenu=!1}},zT={init:function(){this.appendValueInput("MODULE").setCheck(null),this.appendValueInput("NAME").setCheck(null).appendField("."),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(230),this.setTooltip(""),this.setHelpUrl("")}},ZT=function(_,t){return[t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE),t.ORDER_ATOMIC]},QT=function(_,t){if(""==this.getFieldValue("VAR"))return" = None\n";var e=t.valueToCode(this,"VALUE",t.ORDER_ASSIGNMENT)||"None";return t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE)+" = "+e+"\n"},JT=function(_,t){var e=this.getFieldValue("OP"),i=t.valueToCode(this,"MYVALUE",t.ORDER_ATOMIC)||"None";if("bytes"==e)var T=e+"("+i+',"UTF-8")';else T=e+"("+i+")";return[T,t.ORDER_ATOMIC]},qT=function(_,t){return"global "+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"None")+"\n"},jT=function(_,t){return["type("+(t.valueToCode(this,"DATA",t.ORDER_ATOMIC)||"None")+")",t.ORDER_ATOMIC]},$T=function(_,t){return[this.getFieldValue("type"),t.ORDER_ATOMIC]},_E=function(_,t){var e=t.statementToCode(_,"DO");return"if __name__ == '__main__':\n"+(e=t.addLoopTrap(e,_.id)||t.PASS)},tE=function(_,t){var e=t.statementToCode(this,"DO");return(e=e.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?t.setups_.setup_setup=e:t.setups_.setup_setup=e+"\n",""},eE=function(_,t){var e=0,i="";do{i+=(0==e?"if ":"elif ")+(t.valueToCode(_,"IF"+e,t.ORDER_NONE)||"False")+":\n"+(t.statementToCode(_,"DO"+e)||t.PASS),++e}while(_.getInput("IF"+e));return _.getInput("ELSE")&&(i+="else:\n"+(t.statementToCode(_,"ELSE")||t.PASS)),i},iE=function(_,t){var e=0,i=t.valueToCode(this,"IF"+e,t.ORDER_NONE)||"null",T="try:\n"+(t.statementToCode(this,"try")||" pass\n");for(e=1;e<=this.elseifCount_;e++)""!==(i=t.valueToCode(this,"IF"+e,t.ORDER_NONE)||"")&&(i=" "+i),T+="except"+i+": \n"+(t.statementToCode(this,"DO"+e)||" pass\n");return this.elseCount_&&(T+="finally:\n"+(t.statementToCode(this,"ELSE")||" pass\n")),T},TE=function(_,t){var e=t.variableDB_.getName(_.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=t.valueToCode(_,"FROM",t.ORDER_NONE)||"0",T=t.valueToCode(_,"TO",t.ORDER_NONE)||"0",E=t.valueToCode(_,"STEP",t.ORDER_NONE)||"1",n=t.statementToCode(_,"DO"),o=(n=t.addLoopTrap(n,_.id)||t.PASS,""),s=function(_,t){return t.provideFunction_("upRange",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},O=function(_,t){return t.provideFunction_("downRange",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= stop:"," yield start"," start -= abs(step)"])};if(_=function(_,t,e){return"("+_+" <= "+t+") and "+s()+"("+_+", "+t+", "+e+") or "+O()+"("+_+", "+t+", "+e+")"},a_.isNumber(i)&&a_.isNumber(T)&&a_.isNumber(E))i=parseFloat(i),T=parseFloat(T),E=Math.abs(parseFloat(E)),0==i%1&&0==T%1&&0==E%1?(i<=T?(T++,_=0==i&&1==E?T:i+", "+T,1!=E&&(_+=", "+E)):_=i+", "+--T+", -"+E,_="range("+_+")"):(_=i<T?s():O(),_+="("+i+", "+T+", "+E+")");else{var I=function(_,i){if(a_.isNumber(_))_=parseFloat(_);else{var T=t.variableDB_.getDistinctName(e+i,a_.Variables.NAME_TYPE);o+=T+" = "+_+"\n",_=T}return _};i=I(i,"_start"),T=I(T,"_end");I(E,"_inc"),_="number"==typeof i&&"number"==typeof T?i<T?s(0,T):O(0,T):_(i,T,E)}return o+="for "+e+" in "+_+":\n"+n},EE=function(_,t){var e=t.variableDB_.getName(_.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=t.valueToCode(_,"FROM",t.ORDER_NONE)||"0",T=t.valueToCode(_,"TO",t.ORDER_NONE)||"0",E=t.valueToCode(_,"STEP",t.ORDER_NONE)||"1",n=t.statementToCode(_,"DO"),o=t.addLoopTrap(n,_.id)||t.PASS;return t.setups_.mixly_range="def mixly_range(start, stop, step):\n for i in range(start, stop + 1, step):\n yield i\n\n","for "+e+" in mixly_range("+i+", "+T+", "+E+"):\n"+o},nE=function(_,t){var e="UNTIL"==_.getFieldValue("MODE"),i=t.valueToCode(_,"BOOL",t.ORDER_NONE)||"False",T=t.statementToCode(_,"DO");return e&&(i="not "+i),"while "+i+":\n"+(T=t.addLoopTrap(T,_.id)||t.PASS)},oE=function(_){switch(_.getFieldValue("FLOW")){case"BREAK":return"break\n";case"CONTINUE":return"continue\n"}throw"Unknown flow statement."},sE=function(_,t){return"sleep("+(t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000")+")\n"},OE=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},IE=function(_,t){t.definitions_.import_time="import time";return["time.time()",t.ORDER_ATOMIC]},aE=function(_,t){return t.definitions_.import_microbit="from microbit import *","reset()\n"},pE=function(){return"interrupts();\n"},ME=function(){return"noInterrupts();\n"},LE=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"''",i=t.valueToCode(_,"LIST",t.ORDER_RELATIONAL)||"[]",T=t.statementToCode(_,"DO");return"for "+e+" in "+i+":\n"+(T=t.addLoopTrap(T,_.id)||t.PASS)},RE=function(_,t){return["range("+(t.valueToCode(this,"FROM",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"TO",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"STEP",t.ORDER_NONE)||"1")+")",t.ORDER_ATOMIC]},rE=function(_,t){var e="lambda "+(t.valueToCode(_,"BOOL",t.ORDER_NONE)||"None")+": "+(t.statementToCode(_,"DO")||"pass");return[e=e.replace("\n","").replace(" ",""),t.ORDER_ATOMIC]},SE=function(_,t){return t.definitions_.import_time="import time","time.sleep("+(t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000")+")\n"},lE=function(){return"pass\n"},AE=function(_,t){t.definitions_.import__thread="import _thread";var e=t.valueToCode(this,"VAR",t.ORDER_NONE)||"None";return"_thread.start_new_thread("+t.variableDB_.getName(t.valueToCode(this,"callback",t.ORDER_NONE)||"None",a_.Procedures.NAME_TYPE)+", "+e+")\n"},PE=function(_,t){var e=t.valueToCode(this,"select_data",t.ORDER_NONE)||"False",i=t.statementToCode(this,"input_data");return i="true"==this.getFieldValue("type")?i+" if ("+e+"):\n break\n":i+" if not ("+e+"):\n break\n","while True:\n"+(i=t.addLoopTrap(i,this.id)||t.PASS)},NE=function(_,t){var e=t.valueToCode(this,"TIMES",t.ORDER_ATOMIC),i=t.statementToCode(_,"DO");return"for _my_variable in range("+e+"):\n"+(i=t.addLoopTrap(i,_.id)||t.PASS)},dE=NE,hE=function(_,t){var e=this.getFieldValue("NUM");return[e,e<0?t.ORDER_UNARY_PREFIX:t.ORDER_ATOMIC]},uE=function(_,t){return t.definitions_.import_math="import math",["math."+this.getFieldValue("CONSTANT"),t.ORDER_ATOMIC]},mE=function(_,t){return t.definitions_.import_math="import math",["math."+this.getFieldValue("CONSTANT"),t.ORDER_ATOMIC]},CE=function(_,t){var e=this.getFieldValue("OP"),i=t.ORDER_ATOMIC;return["("+(t.valueToCode(this,"A",i)||"0")+e+(t.valueToCode(this,"B",i)||"0")+")",i]},cE=function(_,t){var e=(i={ADD:[" + ",t.ORDER_ADDITIVE],MINUS:[" - ",t.ORDER_ADDITIVE],MULTIPLY:[" * ",t.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",t.ORDER_MULTIPLICATIVE],QUYU:[" % ",t.ORDER_MULTIPLICATIVE],ZHENGCHU:[" // ",t.ORDER_MULTIPLICATIVE],POWER:[" ** ",t.ORDER_EXPONENTIATION]}[_.getFieldValue("OP")])[0],i=i[1];return[(t.valueToCode(_,"A",i)||"0")+e+(_=t.valueToCode(_,"B",i)||"0"),i]},HE=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_RELATIONAL)||"0",i=t.valueToCode(this,"B",t.ORDER_RELATIONAL)||"0";switch(this.getFieldValue("OP")){case"ADD":var T="+=";break;case"MINUS":T="-=";break;case"MULTIPLY":T="*=";break;case"DIVIDE":T="/=";break;case"QUYU":T="%=";break;case"ZHENGCHU":T="//=";break;case"POWER":T="**="}return e+" "+T+" "+i+"\n"},DE=function(_,t){var e,i=_.getFieldValue("OP");if("NEG"==i)return["-"+(e=t.valueToCode(_,"NUM",t.ORDER_UNARY_SIGN)||"0"),t.ORDER_UNARY_SIGN];switch(t.definitions_.import_math="import math",_="SIN"==i||"COS"==i||"TAN"==i?t.valueToCode(_,"NUM",t.ORDER_MULTIPLICATIVE)||"0":t.valueToCode(_,"NUM",t.ORDER_NONE)||"0",i){case"ABS":e="math.fabs("+_+")";break;case"ROOT":e="math.sqrt("+_+")";break;case"LN":e="math.log("+_+")";break;case"LOG10":e="math.log10("+_+")";break;case"EXP":e="math.exp("+_+")";break;case"POW10":e="math.pow(10,"+_+")";break;case"ROUND":e="round("+_+")";break;case"ROUNDUP":e="math.ceil("+_+")";break;case"ROUNDDOWN":e="math.floor("+_+")";break;case"SIN":e="math.sin("+_+")";break;case"COS":e="math.cos("+_+")";break;case"TAN":e="math.tan("+_+")";break;case"++":e="++("+_+")";break;case"--":e="--("+_+")";break;case"-":e="-("+_+")"}if(e)return[e,t.ORDER_EXPONENTIATION];switch(i){case"ASIN":e="math.degrees(math.asin("+_+"))";break;case"ACOS":e="math.degrees(math.acos("+_+"))";break;case"ATAN":e="math.degrees(math.atan("+_+"))"}return[e,t.ORDER_MULTIPLICATIVE]},YE=DE,UE=function(_,t){var e=t.valueToCode(this,"NUM",t.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+")",t.ORDER_ATOMIC]},BE=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_NONE)||"0",i=this.getFieldValue("OP"),T="";return"round"===i?T=i+"("+e+")":(T="math."+i+"("+e+")",t.definitions_.import_math="import math"),[T,t.ORDER_ATOMIC]},gE=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_NONE)||"0",i=t.valueToCode(this,"B",t.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+", "+i+")",t.ORDER_ATOMIC]},GE=function(_,t){t.definitions_.import_random="import random";var e=this.getFieldValue("TYPE"),i=t.valueToCode(this,"FROM",t.ORDER_NONE)||"0",T=t.valueToCode(this,"TO",t.ORDER_NONE)||"0";if("int"==e)var E="random.randint("+i+", "+T+")";else if("float"==e)E="random.uniform("+i+", "+T+")";return[E,t.ORDER_UNARY_POSTFIX]},FE=function(_,t){var e=t.valueToCode(this,"NUM",t.ORDER_NONE),i=t.valueToCode(this,"fromLow",t.ORDER_ATOMIC),T=t.valueToCode(this,"fromHigh",t.ORDER_ATOMIC),E=t.valueToCode(this,"toLow",t.ORDER_ATOMIC),n=t.valueToCode(this,"toHigh",t.ORDER_ATOMIC);return t.definitions_.import_mixpy_math_map="from mixpy import math_map",["math_map("+e+", "+i+", "+T+", "+E+", "+n+")",t.ORDER_NONE]},yE=function(_,t){return["min(max("+(t.valueToCode(this,"VALUE",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"LOW",t.ORDER_NONE)||"0")+"), "+(t.valueToCode(this,"HIGH",t.ORDER_NONE)||"0")+")",t.ORDER_UNARY_POSTFIX]},fE=function(_,t){var e=_.getFieldValue("OP"),i=t.valueToCode(this,"NUM",t.ORDER_NONE)||"0",T=_.getFieldValue("OP2");t.definitions_.import_math="import math";var E="",n="10";if("two"==e?n="2":"eight"==e?n="8":"ten"==e?n="10":"sixteen"==e&&(n="16"),"two"==T?E="bin":"eight"==T?E="oct":"ten"==T?E="":"sixteen"==T&&(E="hex"),""==E)var o="int(str("+i+"), "+n+")";else o=E+"(int(str("+i+"), "+n+"))";return[o,t.ORDER_ATOMIC]},bE=function(_,t){return t.definitions_.import_random="import random","random.seed("+(t.valueToCode(this,"NUM",t.ORDER_NONE)||"0")+");\n"},xE=function(_,t){var e=this.getFieldValue("NUM");return[e,e<0?t.ORDER_UNARY_PREFIX:t.ORDER_ATOMIC]},vE=function(_,t){return["round("+(t.valueToCode(this,"VALUE",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"VAR",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},XE=function(_,t){var e=this.getFieldValue("TOWHAT"),i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return"b"==e?[i+'.encode("utf-8")',t.ORDER_ATOMIC]:[e+"("+i+")",t.ORDER_ATOMIC]},VE=function(_,t){var e=this.getFieldValue("TOWHAT"),i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return"b"==e?[i+'.encode("utf-8")',t.ORDER_ATOMIC]:[e+"("+i+")",t.ORDER_ATOMIC]},kE=FE,wE=function(_,t){return[t.quote_(this.getFieldValue("TEXT")),t.ORDER_ATOMIC]},WE=function(_,t){return['"""'+this.getFieldValue("VALUE")+'"""',t.ORDER_ATOMIC]},KE=function(_,t){return["'"+this.getFieldValue("TEXT")+"'",t.ORDER_ATOMIC]},zE=function(_,t){return[t.valueToCode(this,"A",t.ORDER_ATOMIC)+" + "+t.valueToCode(this,"B",t.ORDER_ATOMIC),t.ORDER_ADDITIVE]},ZE=function(_,t){return["chr("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},QE=function(_,t){return["ord("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"a")+")",t.ORDER_ATOMIC]},JE=function(_,t){return["str("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},qE=function(_,t){return["len("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+")",t.ORDER_ATOMIC]},jE=function(_,t){var e=_.getFieldValue("WHERE")||"FROM_START",i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""';switch(e){case"FROM_START":return[i+"["+(_=t.getAdjustedInt(_,"AT"))+"]",t.ORDER_ATOMIC];case"FROM_END":return[i+"["+(_=t.getAdjustedInt(_,"AT",1,!0))+"]",t.ORDER_ATOMIC];case"RANDOM":return t.definitions_.import_random="import random",["random.choice("+i+")",t.ORDER_FUNCTION_CALL]}throw"Unhandled combination (lists_getIndex)."},$E=function(_,t){return[(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+"["+(t.valueToCode(this,"AT",t.ORDER_ATOMIC)||0)+"]",t.ORDER_ATOMIC]},_n=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""';return t.definitions_.import_random="import random",["random.choice("+e+")",t.ORDER_FUNCTION_CALL]},tn=function(_,t){var e=t.valueToCode(this,"STR1",t.ORDER_ATOMIC)||'""',i=t.valueToCode(this,"STR2",t.ORDER_ATOMIC)||'""',T=this.getFieldValue("DOWHAT");return"==="===T?[e+" == "+i,t.ORDER_ATOMIC]:[e+"."+T+"("+i+")",t.ORDER_ATOMIC]},en=function(_,t){return["cmp("+(t.valueToCode(this,"STR1",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"STR2",t.ORDER_ATOMIC)||'""')+")",t.ORDER_ATOMIC]},Tn=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""',i=_.getFieldValue("WHERE1"),T=_.getFieldValue("WHERE2");switch(i){case"FROM_START":"0"==(E=t.getAdjustedInt(_,"AT1"))&&(E="");break;case"FROM_END":var E=t.getAdjustedInt(_,"AT1",0,!0);break;case"FIRST":E="0";break;default:throw"Unhandled option (lists_getSublist)"}switch(T){case"FROM_START":var n=t.getAdjustedInt(_,"AT2");break;case"FROM_END":n=t.getAdjustedInt(_,"AT2",0,!0);a_.isNumber(String(n))?"0"==n&&(n=""):(t.definitions_.import_sys="import sys",n+=" or sys.maxsize");break;case"LAST":n="-1";break;default:throw"Unhandled option (lists_getSublist)"}return[e+"["+E+" : "+n+"]",t.ORDER_ATOMIC]},En=function(_,t){return[(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+"["+t.valueToCode(this,"AT1",t.ORDER_ATOMIC)+" : "+t.valueToCode(this,"AT2",t.ORDER_ATOMIC)+"]",t.ORDER_ATOMIC]},nn=function(_,t){var e=this.getFieldValue("CAPITAL");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},on=function(_,t){var e=this.getFieldValue("CENTER");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+e+"("+t.valueToCode(this,"WID",t.ORDER_ATOMIC)+","+t.valueToCode(this,"Symbol",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sn=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".find("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},On=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".join("+(t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},In=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".replace("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},an=function(_,t){return[(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+".split("+(t.valueToCode(this,"VAL",t.ORDER_ATOMIC)||'""')+")",t.ORDER_ATOMIC]},pn=function(_,t){var e=this.getFieldValue("TOWHAT");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},Mn=function(_,t){for(var e=this.getFieldValue("VAR"),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";return[i=e+".format("+i.join(", ")+")",t.ORDER_ATOMIC]},Ln=function(_,t){for(var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";return[i=e+".format("+i.join(", ")+")",t.ORDER_ATOMIC]},Rn=En,rn=en,Sn=$E,ln=function(_,t){var e=this.getFieldValue("DIR"),i=this.getFieldValue("CODE");return[(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+"."+e+'("'+i+'")',t.ORDER_ATOMIC]},An=function(_,t){return["eval("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Pn=function(_,t){return t.definitions_.import_os="import os","os.system("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")\n"},Nn=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+"["+t.valueToCode(this,"AT1",t.ORDER_ADDITIVE)+" : "+t.valueToCode(this,"AT2",t.ORDER_ADDITIVE)+"]",t.ORDER_ATOMIC]},dn=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ATOMIC)||"mylist")+"["+(t.valueToCode(this,"row",t.ORDER_ATOMIC)||0)+","+(t.valueToCode(this,"col",t.ORDER_ATOMIC)||0)+"]",t.ORDER_ATOMIC]},hn=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ATOMIC)||"mylist")+"["+(t.valueToCode(this,"row_start",t.ORDER_ATOMIC)||0)+" : "+(t.valueToCode(this,"row_end",t.ORDER_ATOMIC)||1)+","+(t.valueToCode(this,"col_start",t.ORDER_ATOMIC)||0)+" : "+(t.valueToCode(this,"col_end",t.ORDER_ATOMIC)||1)+"]",t.ORDER_ATOMIC]},un=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";return i=e+" = ["+i.join(", ")+"]\n"},mn=function(_,t){return t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE)+" = ["+this.getFieldValue("TEXT")+"]\n"},Cn=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+"["+(t.valueToCode(this,"AT",t.ORDER_ADDITIVE)||0)+"]",t.ORDER_ATOMIC]},cn=function(_,t){return(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+"["+(t.valueToCode(this,"AT",t.ORDER_ADDITIVE)||"0")+"] = "+(t.valueToCode(this,"TO",t.ORDER_ASSIGNMENT)||"0")+"\n"},Hn=function(_,t){var e=t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"DATA",t.ORDER_ASSIGNMENT)||"0";return e+"."+this.getFieldValue("OP")+"("+i+")\n"},Dn=function(_,t){return t.definitions_.import_random="import random",["random.choice("+(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+")",t.ORDER_ATOMIC]},Yn=function(_,t){return t.definitions_.import_random="import random",["random.sample("+(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+","+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},Un=function(_,t){return(t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT)||"0")+".insert("+(t.valueToCode(this,"AT",t.ORDER_ADDITIVE)||"0")+", "+(t.valueToCode(this,"VALUE",t.ORDER_ASSIGNMENT)||"0")+")\n"},Bn=function(_,t){return(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+".reverse()\n"},gn=function(_,t){return(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+".clear()\n"},Gn=function(_,t){var e=this.getFieldValue("OP"),i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0",T=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)||"0";if("INDEX"==e)var E=i+".index("+T+")";else if("COUNT"==e)E=i+".count("+T+")";return[E,t.ORDER_ATOMIC]},Fn=function(_,t){var e=t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"DATA",t.ORDER_ASSIGNMENT)||"0";return"del"==this.getFieldValue("OP")?"del "+e+"["+i+"]\n":e+".remove("+i+")\n"},yn=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"mylist")+".pop("+(t.valueToCode(this,"VALUE",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},fn=function(_,t){var e,i=_.getFieldValue("OP");switch(t.definitions_.import_math="import math",_=t.valueToCode(_,"data",t.ORDER_NONE),i){case"LEN":e="len("+_+")";break;case"SUM":e="sum("+_+")";break;case"MIN":e="min("+_+")";break;case"MAX":e="max("+_+")";break;case"AVERAGE":t.definitions_.import_mixpy_math_mean="from mixpy import math_mean",e="math_mean("+_+")";break;case"MEDIAN":t.definitions_.import_mixpy_math_median="from mixpy import math_median",e="math_median("+_+")";break;case"MODE":t.definitions_.import_mixpy_math_modes="from mixpy import math_modes",e="math_modes("+_+")";break;case"STD_DEV":t.definitions_.import_mixpy_math_standard_deviation="from mixpy import math_standard_deviation",e="math_standard_deviation("+_+")";break;default:throw"Unknown operator: "+i}if(e)return[e,t.ORDER_ATOMIC]},bn=function(_,t){return t.definitions_.import_mixpy_lists_sort="from mixpy import lists_sort",["lists_sort("+(t.valueToCode(_,"LIST",t.ORDER_NONE)||"[]")+', "'+_.getFieldValue("TYPE")+'", '+("1"===_.getFieldValue("DIRECTION")?"False":"True")+")",t.ORDER_ATOMIC]},xn=function(_,t){var e=this.getFieldValue("OP"),i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0",T="";return"array"==e?(t.definitions_.import_numpy="import numpy",T="numpy.array("+i+")"):T=e+"("+i+")",[T,t.ORDER_ATOMIC]},vn=function(_,t){return["["+this.getFieldValue("CONTENT")+"]",t.ORDER_ATOMIC]},Xn=function(_,t){for(var e=new Array(this.itemCount_),i=0;i<this.itemCount_;i++)e[i]=t.valueToCode(this,"ADD"+i,t.ORDER_NONE)||"0";return[e="["+e.join(", ")+"]",t.ORDER_ATOMIC]},Vn=xn,kn=function(_,t){return"del "+(t.valueToCode(this,"TUP",t.ORDER_ASSIGNMENT)||"0")+"\n"},wn=un,Wn=mn,Kn=Cn,zn=Nn,Zn=cn,Qn=Un,Jn=Fn,qn=function(_,t){for(var e=new Array(this.itemCount_),i=0;i<this.itemCount_;i++)e[i]=t.valueToCode(this,"ADD"+i,t.ORDER_NONE)||"[]";return[e="zip("+e.join(", ")+")",t.ORDER_ATOMIC]},jn=function(_,t){return["list("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},$n=function(_,t){return[(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+".tolist()",t.ORDER_ATOMIC]},_o=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++){var E=this.getFieldValue("KEY"+T);i[T]=E+":"+(t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0")}return i=e+"= {"+i.join(", ")+"}\n"},to=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".keys()",t.ORDER_ATOMIC]},eo=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+"["+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+"]",t.ORDER_ATOMIC]},io=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".get("+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+","+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},To=function(_,t){return(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"mydict")+"["+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+"] = "+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+"\n"},Eo=function(_,t){return"del "+(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"mydict")+"["+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+"]\n"},no=function(_,t){var e=t.valueToCode(this,"DICT2",t.ORDER_ASSIGNMENT)||"0";return(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".update("+e+")\n"},oo=function(_,t){return(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".clear()\n"},so=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".items()",t.ORDER_ATOMIC]},Oo=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".values()",t.ORDER_ATOMIC]},Io=function(_,t){return["len("+(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},ao=function(_,t){return"del "+(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+"\n"},po=function(_,t){var e=t.valueToCode(_,"DICT",t.ORDER_MEMBER)||"[]",i=_.getFieldValue("WHERE"),T=t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT);switch(i){case"INSERT":var E=e+"["+T+"] = "+(t.valueToCode(this,"AT2",t.ORDER_ASSIGNMENT)||"0")+"\n";break;case"DELETE":E="del "+e+"["+T+"]\n";break;default:throw"Unhandled option (lists_setIndex2)"}return E},Mo=function(_,t){return[(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+".pop("+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+")",t.ORDER_ATOMIC]},Lo=function(_,t){return(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"mydict")+".setdefault("+t.valueToCode(this,"KEY",t.ORDER_ASSIGNMENT)+","+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")\n"},Ro=function(_,t){for(var e=new Array(this.itemCount_),i=0;i<this.itemCount_;i++){var T=this.getFieldValue("KEY"+i);e[i]=T+":"+(t.valueToCode(this,"ADD"+i,t.ORDER_NONE)||"0")}if(1!=this.itemCount_)e="{"+e.join(", ")+"}";else e="{"+e.join(", ")+",}";return[e,t.ORDER_ATOMIC]},ro=function(_,t){return["dict("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},So=function(_,t){return t.definitions_.import_json="import json",["json.dumps("+(t.valueToCode(this,"DICT",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},lo=function(_,t){return t.definitions_.import_json="import json",["json.loads("+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"null")+")",t.ORDER_ATOMIC]},Ao=function(_,t){var e=this.getFieldValue("OP"),i=Ao.OPERATORS[e],T="=="==i||"!="==i?t.ORDER_EQUALITY:t.ORDER_RELATIONAL;return[(t.valueToCode(this,"A",T)||"0")+" "+i+" "+(t.valueToCode(this,"B",T)||"0"),T]},Po=function(_,t){var e=this.getFieldValue("OP1"),i=Ao.OPERATORS[e],T=this.getFieldValue("OP2"),E=Ao.OPERATORS[T];return[(t.valueToCode(this,"A",t.ORDER_RELATIONAL)||"0")+" "+i+" "+(t.valueToCode(this,"B",t.ORDER_RELATIONAL)||"0")+" "+E+" "+(t.valueToCode(this,"C",t.ORDER_RELATIONAL)||"0"),t.ORDER_RELATIONAL]};Ao.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const No=function(_,t){var e=this.getFieldValue("OP"),i="&&"==e?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,T=t.valueToCode(this,"A",i)||"False",E=t.valueToCode(this,"B",i)||"False";if("AND"==e)var n=T+" and "+E;else if("OR"==e)n=T+" or "+E;else if("NOR"==e)n="not("+T+"^"+E+")";else n=T+"^"+E;return[n,i]},ho=function(_,t){var e=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",e)||"False"),e]},uo=function(_,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},mo=function(_,t){return["None",t.ORDER_ATOMIC]},Co=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+e+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},co=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Ho=function(_,t){var e=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[e+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Do=function(_,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Yo=function(_,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Uo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Bo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},go=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Go=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+e+")\n"},Fo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},yo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},vo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Xo=function(_,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Vo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ko=function(_,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},Wo=function(_,t){var e=this.getFieldValue("MODE"),i=0;return i="start"==e?0:"current"==e?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},Ko=function(_,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},zo=function(_,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Zo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Qo=function(_,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Jo=function(_,t){t.definitions_.import_os="import os";var e=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+e+")",t.ORDER_ATOMIC]},qo=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},jo=function(_,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},$o=function(_,t){var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=t.statementToCode(this,"STACK")||" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var T=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";T&&(T=" return "+T+"\n");for(var E=[],n=0;n<this.arguments_.length;n++){var o=t.variableDB_.getName(this.arguments_[n],a_.Variables.NAME_TYPE);E[n]=o}var s="def "+e+"("+E.join(", ")+"):\n"+i+T+"\n";return s=t.scrub_(this,s),t.setups_[e]=s,null},_s=function(_,t){var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=t.statementToCode(this,"STACK")||" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);for(var T=[],E=0;E<this.arguments_.length;E++){var n=t.variableDB_.getName(this.arguments_[E],a_.Variables.NAME_TYPE);T[E]=n}var o="def "+e+"("+T.join(", ")+"):\n"+i+"\n";return o=t.scrub_(this,o),t.setups_[e]=o,null},ts=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=[],T=0;T<this.arguments_.length;T++)i[T]=t.valueToCode(this,"ARG"+T,t.ORDER_NONE)||"null";return[e+"("+i.join(", ")+")",t.ORDER_UNARY_POSTFIX]},es=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("NAME"),a_.Procedures.NAME_TYPE),i=[],T=0;T<this.arguments_.length;T++)i[T]=t.valueToCode(this,"ARG"+T,t.ORDER_NONE)||"null";return e+"("+i.join(", ")+")\n"},is=function(_,t){var e="if ("+(t.valueToCode(this,"CONDITION",t.ORDER_NONE)||"False")+") :\n";this.hasReturnValue_?e+=" return "+(t.valueToCode(this,"VALUE",t.ORDER_NONE)||"None"):e+=" return None";return e+="\n"},Ts=function(_,t){var e="";this.hasReturnValue_?e+="return "+(t.valueToCode(this,"VALUE",t.ORDER_NONE)||"None"):e+="return None";return e+="\n"},Es=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";if(1!=this.itemCount_)i=e+"= ("+i.join(", ")+")\n";else i=e+"= ("+i.join(", ")+",)\n";return i},ns=function(_,t){return t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE)+"= ("+this.getFieldValue("TEXT")+")\n"},os=function(_,t){return["("+this.getFieldValue("TEXT")+")",t.ORDER_ATOMIC]},ss=function(_,t){var e=t.valueToCode(this,"TUP",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"AT",t.ORDER_ADDITIVE)||"1";return i.match(/^\d+$/)&&(i=parseInt(i,10)),[e+"["+i+"]",t.ORDER_ATOMIC]},Os=function(_,t){return["len("+(t.valueToCode(this,"TUP",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},Is=function(_,t){return"del "+(t.valueToCode(this,"TUP",t.ORDER_ASSIGNMENT)||"0")+"\n"},as=function(_,t){return[(t.valueToCode(this,"TUP1",t.ORDER_ASSIGNMENT)||"0")+" + "+(t.valueToCode(this,"TUP2",t.ORDER_ASSIGNMENT)||"0"),t.ORDER_ATOMIC]},ps=function(_,t){var e=t.valueToCode(this,"TUP",t.ORDER_ASSIGNMENT)||"0";return[this.getFieldValue("DIR")+"("+e+")",t.ORDER_ATOMIC]},Ms=function(_,t){return[this.getFieldValue("OP")+"("+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")\n",t.ORDER_ATOMIC]},Ls=function(_,t){var e=this.getFieldValue("OP"),i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0",T=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)||"0";if("INDEX"==e)var E=i+".index("+T+")";else if("COUNT"==e)E=i+".count("+T+")";return[E,t.ORDER_ATOMIC]},Rs=function(_,t){var e,i=_.getFieldValue("OP");switch(t.definitions_.import_math="import math",_=t.valueToCode(_,"data",t.ORDER_NONE),i){case"LEN":e="len("+_+")";break;case"SUM":e="sum("+_+")";break;case"MIN":e="min("+_+")";break;case"MAX":e="max("+_+")";break;case"AVERAGE":e=t.provideFunction_("math_mean",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = [e for e in myList if type(e) == int or type(e) == float]"," if not localList: return"," return float(sum(localList)) / len(localList)"])+"("+_+")";break;case"MEDIAN":e=t.provideFunction_("math_median",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = sorted([e for e in myList if type(e) == int or type(e) == float])"," if not localList: return"," if len(localList) % 2 == 0:"," return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0"," else:"," return localList[(len(localList) - 1) // 2]"])+"("+_+")";break;case"MODE":e=t.provideFunction_("math_modes",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(some_list):"," modes = []"," # Using a lists of [item, count] to keep count rather than dict",' # to avoid "unhashable" errors when the counted item is itself a list or dict.'," counts = []"," maxCount = 1"," for item in some_list:"," found = False"," for count in counts:"," if count[0] == item:"," count[1] += 1"," maxCount = max(maxCount, count[1])"," found = True"," if not found:"," counts.append([item, 1])"," for counted_item, item_count in counts:"," if item_count == maxCount:"," modes.append(counted_item)"," return modes"])+"("+_+")";break;case"STD_DEV":t.definitions_.import_math="import math",e=t.provideFunction_("math_standard_deviation",["def "+t.FUNCTION_NAME_PLACEHOLDER_+"(numbers):"," n = len(numbers)"," if n == 0: return"," mean = float(sum(numbers)) / n"," variance = sum((x - mean) ** 2 for x in numbers) / n"," return math.sqrt(variance)"])+"("+_+")";break;default:throw"Unknown operator: "+i}if(e)return[e,t.ORDER_FUNCTION_CALL]},rs=function(_,t){var e=t.valueToCode(_,"LIST",t.ORDER_MEMBER)||"[]",i=_.getFieldValue("WHERE1"),T=_.getFieldValue("WHERE2");switch(i){case"FROM_START":"0"==(E=t.getAdjustedInt(_,"AT1"))&&(E="");break;case"FROM_END":var E=t.getAdjustedInt(_,"AT1",1,!0);break;case"FIRST":E="0";break;default:throw"Unhandled option (lists_getSublist)"}switch(T){case"FROM_START":var n=t.getAdjustedInt(_,"AT2",1);n-=1;break;case"FROM_END":n=t.getAdjustedInt(_,"AT2",1,!0);a_.isNumber(String(n))?"0"==n&&(n=""):(t.definitions_.import_sys="import sys",n+=" or sys.maxsize");break;case"LAST":n="-1";break;default:throw"Unhandled option (lists_getSublist)"}return[e+"["+E+" : "+n+"]",t.ORDER_MEMBER]},Ss=function(_,t){for(var e=new Array(this.itemCount_),i=0;i<this.itemCount_;i++)e[i]=t.valueToCode(this,"ADD"+i,t.ORDER_NONE)||"0";if(1!=this.itemCount_)e="("+e.join(", ")+")";else e="("+e.join(", ")+",)";return[e,t.ORDER_ATOMIC]},ls=function(_,t){return[(t.valueToCode(this,"LIST",t.ORDER_ADDITIVE)||"0")+"["+(t.valueToCode(this,"AT1",t.ORDER_ADDITIVE)||"0")+" : "+(t.valueToCode(this,"AT2",t.ORDER_ADDITIVE)||"0")+"]",t.ORDER_ATOMIC]},As=function(_,t){return t.definitions_.import_random="import random",["random.choice("+(t.valueToCode(this,"TUP",t.ORDER_ADDITIVE)||"mytup")+")",t.ORDER_ATOMIC]},Ps=function(_,t){return["tuple("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ns=function(_,t){for(var e=t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";return i=e+"= {"+i.join(", ")+"}\n",0==this.itemCount_&&(i=e+" = set()\n"),i},ds=function(_,t){return["len("+(t.valueToCode(this,"SET",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},hs=function(_,t){return[(t.valueToCode(this,"SET",t.ORDER_ASSIGNMENT)||"0")+".pop()",t.ORDER_ATOMIC]},us=function(_,t){return(t.valueToCode(this,"SET",t.ORDER_ASSIGNMENT)||"0")+".clear()\n"},ms=function(_,t){var e=t.valueToCode(this,"SET1",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"SET2",t.ORDER_ASSIGNMENT)||"0";return[e+"."+this.getFieldValue("OPERATE")+"("+i+")",t.ORDER_ATOMIC]},Cs=function(_,t){var e=t.valueToCode(this,"SET1",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"SET2",t.ORDER_ASSIGNMENT)||"0";return e+"."+this.getFieldValue("OPERATE")+"("+i+")\n"},cs=function(_,t){return(t.valueToCode(this,"SET",t.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("OPERATE")+"("+(t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)||"0")+")\n"},Hs=function(_,t){var e=t.valueToCode(this,"SET1",t.ORDER_ASSIGNMENT)||"0",i=t.valueToCode(this,"SET2",t.ORDER_ASSIGNMENT)||"0";return[e+"."+this.getFieldValue("OPERATE")+"("+i+")",t.ORDER_ATOMIC]},Ds=function(_,t){return(t.valueToCode(this,"SET",t.ORDER_ASSIGNMENT)||"0")+".update("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")\n"},Ys=function(_,t){return["{"+this.getFieldValue("TEXT")+"}",t.ORDER_ATOMIC]},Us=function(_,t){return["set("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Bs=function(_,t){return["'''<!DOCTYPE HTML>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n"+t.statementToCode(this,"HEAD")+"</head>\n<body>\n"+t.statementToCode(this,"BODY")+"</body>\n</html>\n'''",t.ORDER_ATOMIC]},gs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<h"+i+">\n"+e+"</h"+i+">\n"},Gs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var T="<"+i+'>\n\t<meta charset="utf-8">\n'+e+"</"+i+">\n";else T="<"+i+">\n"+e+"</"+i+">\n";return T},Fs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+e+"</"+i+">\n"},ys=function(_,t){var e=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),T=this.getFieldValue("LEVEL");return"<"+T+" "+i+" >\n"+e+"</"+T+">\n"},fs=function(_,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bs=function(_,t){return'<input type="'+this.getFieldValue("LEVEL")+'" name="'+this.getFieldValue("NAME")+'" value="'+this.getFieldValue("VALUE")+'" '+(t.valueToCode(this,"style")||"")+" />"},xs=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vs=function(){return this.getFieldValue("TEXT")+"\n"},Xs=function(_){return _.getFieldValue("TEXT")+"\n"},Vs=function(_,t){return[_.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ks=function(_,t){return(t.valueToCode(_,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},ws=function(){return""},Ws=function(_,t){return["type("+(t.valueToCode(_,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Ks=function(_,t){for(var e=_.getFieldValue("NAME"),i=_.hasReturn_,T=new Array(_.itemCount_),E=0;E<_.itemCount_;E++)T[E]=t.valueToCode(_,"ARGUMENT"+E,t.ORDER_NONE)||"___";var n=e+"("+T.join(", ")+")";return i?[n,t.ORDER_ATOMIC]:n+"\n"},zs=function(_,t){var e=t.valueToCode(_,"MODULE",t.ORDER_ATOMIC),i=t.valueToCode(_,"NAME",t.ORDER_ATOMIC);return[e+"."+(i=i.substring(1,i.length-1)),t.ORDER_NONE]},Zs=new a_.Generator("Python");Zs.INDENT=" ",Zs.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Zs.ORDER_ATOMIC=0,Zs.ORDER_COLLECTION=1,Zs.ORDER_STRING_CONVERSION=1,Zs.ORDER_UNARY_POSTFIX=1,Zs.ORDER_UNARY_PREFIX=2,Zs.ORDER_MEMBER=2.1,Zs.ORDER_FUNCTION_CALL=2.2,Zs.ORDER_EXPONENTIATION=3,Zs.ORDER_UNARY_SIGN=4,Zs.ORDER_BITWISE_NOT=4,Zs.ORDER_MULTIPLICATIVE=5,Zs.ORDER_ADDITIVE=6,Zs.ORDER_BITWISE_SHIFT=7,Zs.ORDER_BITWISE_AND=8,Zs.ORDER_BITWISE_XOR=9,Zs.ORDER_BITWISE_OR=10,Zs.ORDER_RELATIONAL=11,Zs.ORDER_EQUALITY=11,Zs.ORDER_LOGICAL_NOT=12,Zs.ORDER_LOGICAL_AND=13,Zs.ORDER_LOGICAL_OR=14,Zs.ORDER_ASSIGNMENT=14,Zs.ORDER_CONDITIONAL=15,Zs.ORDER_LAMBDA=16,Zs.ORDER_NONE=99,Zs.ORDER_OVERRIDES=[[Zs.ORDER_FUNCTION_CALL,Zs.ORDER_MEMBER],[Zs.ORDER_FUNCTION_CALL,Zs.ORDER_FUNCTION_CALL],[Zs.ORDER_MEMBER,Zs.ORDER_MEMBER],[Zs.ORDER_MEMBER,Zs.ORDER_FUNCTION_CALL]],Zs.init=function(){Zs.PASS=this.INDENT+"pass\n",Zs.definitions_=Object.create(null),Zs.functionNames_=Object.create(null),Zs.setups_=Object.create(null),Zs.loops_=Object.create(null),Zs.codeEnd_=Object.create(null),Zs.variableDB_?Zs.variableDB_.reset():Zs.variableDB_=new r_(Zs.RESERVED_WORDS_)},Zs.finish=function(_){""!==_&&(_=(_=_.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[];for(var e in Zs.definitions_)t.push(Zs.definitions_[e]);var i=[];for(var e in Zs.functions_)i.push(Zs.functions_[e]);var T=[];for(var e in Zs.setups_)T.push(Zs.setups_[e]);0!==T.length&&T.push("\n");var E=[];for(var e in Zs.loops_)E.push(Zs.loops_[e]);var n=[];for(var e in Zs.codeEnd_)n.push(Zs.codeEnd_[e]);return 0!==n.length&&n.push("\n"),E.length>0?t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+"while True:\n"+E.join("")+n.join("\n"):t.join("\n")+"\n"+i.join("\n")+"\n"+T.join("")+"\n"+_+n.join("\n")},Zs.scrubNakedValue=function(_){return _+"\n"},Zs.quote_=function(_){var t="'";return-1!==(_=_.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===_.indexOf('"')?t='"':_=_.replace(/'/g,"\\'")),t+_+t},Zs.multiline_quote_=function(_){return"'''"+(_=_.replace(/'''/g,"\\'\\'\\'"))+"'''"},Zs.scrub_=function(_,t,e){var i="";if(!_.outputConnection||!_.outputConnection.targetConnection){(E=_.getCommentText())&&(E=a_.utils.string.wrap(E,Zs.COMMENT_WRAP-3),i+=Zs.prefixLines(E+"\n","# "));for(var T=0;T<_.inputList.length;T++)if(_.inputList[T].type==a_.INPUT_VALUE){var E,n=_.inputList[T].connection.targetBlock();if(n)(E=Zs.allNestedComments(n))&&(i+=Zs.prefixLines(E,"# "))}}var o=_.nextConnection&&_.nextConnection.targetBlock();return i+t+(e?"":Zs.blockToCode(o))},Zs.getAdjustedInt=function(_,t,e,i){var T=e||0;_.workspace.options.oneBasedIndex&&T--;var E=_.workspace.options.oneBasedIndex?"1":"0",n=T?Zs.ORDER_ADDITIVE:Zs.ORDER_NONE,o=Zs.valueToCode(_,t,n)||E;return a_.isNumber(o)?(o=parseInt(o,10)+T,i&&(o=-o)):(o=T>0?"int("+o+" + "+T+")":T<0?"int("+o+" - "+-T+")":"int("+o+")",i&&(o="-"+o)),o};const Qs="#74A55B",Js={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},qs={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},js={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},$s={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},_O={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},tO={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},eO={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},iO={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},EO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},oO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sO={init:function(){this.setColour(Qs),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OO={init:function(){this.setColour(Qs),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},IO={init:function(){this.setColour(Qs),this.appendValueInput("VAR").appendField("360°"+a_.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},aO={init:function(){this.setColour(Qs),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},pO={init:function(){this.setColour(Qs),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},MO={init:function(){this.setColour(Qs),this.appendValueInput("PIN",Number).appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},LO={init:function(){this.setColour(Qs),this.appendValueInput("PIN",Number).appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},RO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new a_.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(a_.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动使用I2C通信")}},rO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[a_.Msg.MOTOR_N,"ms32006.MOT_N"],[a_.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},SO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new a_.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"ms32006.MOT_CW"],[a_.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},lO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RGB_PIN_COUNT)}},AO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},PO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},NO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},dO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new a_.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"SYN6288"+a_.Msg.MIXLY_AipSpeech_synthesis),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},hO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},uO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},mO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},CO={init:function(){this.setColour(Qs),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(a_.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(a_.Msg.MIXLY_PROGRAM_BLOCK).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},HO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},DO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},YO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_TRAFFIC_LIGHT).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[a_.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_WHITE,"W"],[a_.Msg.COLOUR_RGB_RED,"R"],[a_.Msg.COLOUR_RGB_YELLOW,"Y"],[a_.Msg.COLOUR_RGB_GREEN,"G"],[a_.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},gO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[a_.Msg.MIXLY_SPEED,"[1]"],[a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[a_.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[a_.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[a_.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},GO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[a_.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MATH_SINGLE_OP_ABSOLUTE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},fO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_SERVO_MOTOR).appendField(a_.Msg.MIXLY_RELATIVE+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+a_.Msg.MSG.run).appendField("("+a_.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MODE).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+a_.Msg.MIXLY_MODE,"0"],[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER+a_.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"0"],[a_.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},XO={init:function(){this.setColour(Qs),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MOTOR,"ext_motor"],[a_.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[a_.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[a_.Msg.COLOUR_RGB_RED+"LED","R_LED"],[a_.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[a_.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[a_.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[a_.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO="#6C9858",kO={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},wO={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"1"],[a_.Msg.MIXLY_ESP32_OFF,"0"],[a_.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},WO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},KO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},zO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},ZO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},QO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(a_.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LIGHT_OFF,"0"],[a_.Msg.MIXLY_LIGHT_RED,"1"],[a_.Msg.MIXLY_LIGHT_GREEN,"2"],[a_.Msg.MIXLY_LIGHT_BLUE,"3"],[a_.Msg.MIXLY_LIGHT_YELLOW,"4"],[a_.Msg.MIXLY_LIGHT_CYAN,"5"],[a_.Msg.MIXLY_LIGHT_PURPLE,"6"],[a_.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},JO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},qO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},jO={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},$O={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING).appendField(a_.Msg.MIXLY_BUILDIN_LED).appendField(new a_.FieldDropdown([[a_.Msg.COLOUR_RGB_RED,"r"],[a_.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_BUILDIN_LED+a_.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_I={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},tI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},eI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},iI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},TI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},EI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_WRI)}},nI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(p_.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},oI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},sI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.PYTHON_RANGE_STEP).appendField(a_.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},OI={init:function(){this.setColour(VO),this.appendValueInput("TICKS").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(a_.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(a_.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},II={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},aI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_RESET)}},pI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},MI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},LI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RI={init:function(){this.setColour(VO),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},rI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SI={init:function(){this.setColour(VO),this.appendDummyInput().appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lI={init:function(){this.setColour(VO),this.appendDummyInput("").appendField("MixGo Car").appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},AI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},PI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MOTOR_DC).appendField(new a_.FieldDropdown([[a_.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[a_.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_STOP).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},dI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},hI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"1"],[a_.Msg.TEXT_TRIM_RIGHT,"2"],[a_.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[a_.Msg.MIXLY_SPEED,"SPEED"],[a_.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},mI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},CI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.blockpy_forward,"F"],[a_.Msg.blockpy_backward,"B"],[a_.Msg.blockpy_left,"L"],[a_.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(new a_.FieldDropdown([[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.BITBOT).appendField(a_.Msg.MIXLY_MOTOR).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"0"],[a_.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DI={init:function(){this.setColour(VO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},YI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},UI={init:function(){this.setColour(VO),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_SETONOFF)}},BI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MIXBOT_BUZZER+a_.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},gI={init:function(){this.setColour(VO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_RECORD_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},GI={init:function(){this.setColour(VO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_AUDIO).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},FI={init:function(){this.setColour(VO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},fI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},xI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([["1","1"],["2","2"]]),"index"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},vI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.ME_GO_MOTOR_EXTERN).appendField(a_.Msg.MIXLY_ALL+a_.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(a_.ALIGN_RIGHT).appendField(a_.Msg.blynk_IOT_IR_POWER+a_.Msg.MIXLY_PINMODEOUT+a_.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},XI="#90A244",VI={init:function(){this.setColour(XI),this.appendDummyInput("").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new a_.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"MixGo AI"+a_.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},wI={init:function(){this.setColour(XI),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT,"qrcode"],[a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT,"barcode"],[a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},WI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},KI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField(a_.Msg.SOFT_RESET+a_.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},zI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(a_.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},ZI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},QI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},JI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},qI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},jI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LINE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LINE_ANGLE,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},$I={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},_a={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_CIRCLE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ta={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},ea={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_RECT+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ia={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ta={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["RGB"+a_.Msg.HTML_COLOUR,"[0]"],["LAB"+a_.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},Ea={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},na={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_COLOR_CHASE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},oa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+a_.Msg.MIXLY_COLOR_LAB).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},sa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_TRAIN_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Oa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Ia={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LOCAL_CLASS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},aa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},pa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MP3_VOL).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ma={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ANCHOR).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},La={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Ra={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setAlign(a_.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},ra={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LICENSEPLATE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Sa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},la={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_FACE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Aa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Pa={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_20OBJECTS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Na={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},da={init:function(){this.setColour(205),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AipSpeech_asr,"ASR"],[a_.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ha={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AI_UNIT).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(a_.Msg.OLED_STRING).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},ua={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AipSpeech_asr).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LANGUAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[a_.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[a_.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},ma="#2FAD7A",Ca={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},ca={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ha={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Da={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Ya={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Ua={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},ga={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Ga={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Fa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},ya={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},fa={init:function(){this.jsonInit({message0:a_.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[a_.Msg.MIXLY_PYTHON_PERIODIC,"False"],[a_.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},xa={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},va={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Xa=140,Va={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},ka={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},wa={init:function(){this.setColour(Xa),this.appendValueInput("SUB").appendField("I2C "+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_INIT)}},Wa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Ka={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},za={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_I2C_SCAN1+a_.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_SCAN)}},Za={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Qa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_SET)}},Ja={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SET+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},qa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ)}},ja={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE+" "+a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},$a={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO)}},_p={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},tp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE)}},ep={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},ip={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Tp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ+a_.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Ep={init:function(){this.setColour(Xa),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},np={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+a_.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_INIT)}},op={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SCAN)}},sp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_READ)}},Op={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.LANG_MATH_STRING,"write"],[a_.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_WRITE)}},Ip={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SELECT)}},ap={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_RESET)}},pp={init:function(){this.setColour(Xa),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_INPUT1,"8"],[a_.Msg.MIXLY_IR_INPUT2,"16"],[a_.Msg.MIXLY_IR_INPUT3,"0"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Mp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_CMD_CODE,"0"],[a_.Msg.MIXLY_IR_ADDR_CODE,"1"],[a_.Msg.MIXLY_IR_RAW_CODE,"2"],[a_.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Lp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN).appendField(new a_.FieldDropdown([[a_.Msg.MILY_PAUSE,"True"],[a_.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},rp={init:function(){this.setColour(Xa),this.appendValueInput("time").appendField(a_.Msg.MIXlY_RECV_FUN).appendField(a_.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(a_.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sp={init:function(){this.setColour(Xa),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_SEND).appendField(a_.Msg.MIXLY_PIN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_SEND_samsung1,"False"],[a_.Msg.MIXLY_IR_SEND_samsung2,"True"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(a_.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(a_.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(a_.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Ap={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_IR_PULSE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(a_.Msg.MIXLY_IR_RAW_CODE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Np={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},dp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},up={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN+a_.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},mp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Cp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TEXT_JOIN+a_.Msg.MSG.catBLE).appendField(new a_.FieldDropdown([[a_.Msg.HTML_NAME,"name"],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(a_.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},Yp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Up={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Bp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Fp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},yp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},fp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new a_.FieldDropdown([["("+a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+a_.Msg.OLED_STRING+")",""],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[a_.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},bp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},xp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MP_ESPNOW_RADIO+a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},kp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},Wp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Kp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},zp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Zp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Qp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Jp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},qp={init:function(){this.setColour(Xa),this.appendValueInput("SUB").appendField("Lora"+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(a_.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(a_.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(a_.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(a_.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new a_.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_LORA_INIT_TOOLTIP)}},jp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_PACKAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[a_.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},$p={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_M={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},tM={init:function(){this.setColour(Xa),this.appendValueInput("DOMAIN").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS_GET).appendField(new a_.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},eM={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(Xa),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown(_),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("DIR");return{clear:a_.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:a_.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:a_.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[_]}))}},iM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Xa),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},TM=wa,EM=Wa,nM=Ka,oM=za,sM=Za,OM=Qa,IM=Ja,aM=qa,pM=ja,MM=$a,LM=_p,RM=tp,rM=ep,SM=ip,lM=Tp,AM=120;({init:function(){this.setColour(AM),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("MODE");return{WHILE:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:a_.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(AM);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("FLOW");return{BREAK:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:a_.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[_]}))},onchange:function(){if(this.workspace){var _=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const PM="5BA5A5",NM={init:function(){this.setColour(PM),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},hM={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},uM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},CM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HM={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},DM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},YM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},UM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},BM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},gM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},GM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new a_.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},FM={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},yM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},fM={init:function(){this.setColour(PM),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},bM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.OLEDDISPLAY+a_.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(PM),this.setTooltip(a_.Msg.MIXLY_DF_LCD+a_.Msg.OLEDDISPLAY+a_.Msg.MIXLY_MICROBIT_TYPE_STRING)}},xM={init:function(){var _=[[a_.Msg.MIXLY_HEIGHT,"height"],[a_.Msg.MIXLY_WIDTH,"width"]];this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE+{height:a_.Msg.MIXLY_HEIGHT,width:a_.Msg.MIXLY_WIDTH}[_]}))}},vM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RECT).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_OLED_RECT)}},XM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_DISPLAY_DRAW).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_DISPLAY_RLINE,"hline"],[a_.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE)}},VM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},kM={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},wM={init:function(){this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},WM={init:function(){this.setColour(PM),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B)}},KM={init:function(){this.setColour(PM),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"ON"],[a_.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},zM={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},ZM={init:function(){this.setColour(PM),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new a_.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},QM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},JM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},qM={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(a_.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},jM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(a_.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(a_.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(a_.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_SHOW_BMP_TOOLTIP)}},$M={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED),this.appendDummyInput("").appendField(a_.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(a_.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(a_.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_DRAW_PIXE_TOOLTIP)}},_L={init:function(){this.setColour(PM),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[t]}))}},tL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ON,"on"],[a_.Msg.MIXLY_OFF,"off"],[a_.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},eL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},iL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},TL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},EL={init:function(){this.setColour(PM),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+a_.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.blockpy_turtle_rotate).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_NO,"0"],[a_.Msg.ANTI_CLOCKWISE+"90°","1"],[a_.Msg.ANTI_CLOCKWISE+"180°","2"],[a_.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},nL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},oL={init:function(){this.setColour(PM);let _=new a_.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(_,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},sL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},IL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catTFT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},pL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},ML={init:function(){this.setColour(PM),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},LL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},RL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_SERIAL_PRINT+a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.appendDummyInput().appendField(a_.Msg.TFT_Brightness).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={1:a_.Msg.MIXLY_MICROBIT_Turn_on_display,0:a_.Msg.MIXLY_MICROBIT_Turn_off_display};return a_.Msg.MSG.catLCD+a_.Msg.TFT_Brightness+e[t]}))}},SL={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},lL={init:function(){this.setColour(PM),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},AL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},PL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},NL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},dL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},hL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},mL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},HL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},DL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},YL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},UL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},BL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},gL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},GL="#569A98",FL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==p_.Boards.getSelectedBoardKey()&&this.setTooltip(a_.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},yL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XL={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<32;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},VL={init:function(){this.jsonInit({colour:GL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},kL={init:function(){this.jsonInit({colour:GL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},wL={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(GL),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},WL={init:function(){this.setColour(GL),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},KL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(GL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{shift_up:a_.Msg.MIXLY_UP,shift_down:a_.Msg.MIXLY_DOWN,shift_left:a_.Msg.MIXLY_LEFT,shift_right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},zL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},ZL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},QL={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},JL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},qL={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},jL={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<8;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},$L={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},_R={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<16;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0,"esp32_image"),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},tR={init:function(){var _=[["4x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+a_.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.OLED_SET_FONT).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},iR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},TR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},ER={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},OR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},IR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pR={init:function(){this.jsonInit({colour:GL,args0:[{type:"field_label",name:"size_image",text:a_.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},MR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<5;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},LR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},RR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},rR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},SR={init:function(){var _=[[a_.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[a_.Msg.CLOCKWISE+"90"+a_.Msg.blockpy_setheading_degree,"1"],[a_.Msg.CLOCKWISE+"180"+a_.Msg.blockpy_setheading_degree,"2"],[a_.Msg.CLOCKWISE+"270"+a_.Msg.blockpy_setheading_degree,"3"]];this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},AR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},PR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},NR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},uR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CR={init:function(){this.jsonInit({colour:GL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},cR={init:function(){this.jsonInit({colour:GL,args0:[{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},HR={init:function(){this.jsonInit({colour:GL,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},DR={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(GL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},YR={init:function(){this.setColour(GL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},UR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},BR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},gR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},GR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},FR={init:function(){this.setColour(GL),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yR={init:function(){this.setColour(GL),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(a_.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(a_.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(a_.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(a_.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XR={init:function(){this.jsonInit({colour:GL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},VR="#777777",kR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField("from ").appendField(new a_.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new a_.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField("import ").appendField(new a_.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("items",this.itemCount_);for(var t=0;t<this.arguments_.length;t++){var e=document.createElement("arg");e.setAttribute("name",this.arguments_[t]),_.appendChild(e)}return _},domToMutation:function(_){this.arguments_=[];for(var t=0;_.childNodes[t];t++){let e=_.childNodes[t];"arg"==e.nodeName.toLowerCase()&&this.arguments_.push(e.getAttribute("name"))}this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("factory_create_with_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("factory_create_with_item");T.initSvg(),T.setFieldValue(this.arguments_[i],"NAME"),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){this.arguments_=[];for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)this.arguments_.push(t.getFieldValue("NAME")),e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;for(_=0;_<this.itemCount_;_++)this.appendValueInput("ADD"+_).setAlign(a_.inputs.Align.RIGHT).appendField(this.arguments_[_])}},KR={init:function(){this.setColour(VR),this.appendDummyInput().appendField(a_.Msg.MIXLY_PARAMS),this.appendStatementInput("STACK"),this.contextMenu=!1}},zR={init:function(){this.setColour(VR),this.appendDummyInput().appendField(a_.Msg.LISTS_CREATE_WITH_ITEM_TITLE+":").appendField(new a_.FieldTextInput("x"),"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},ZR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setOutput(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:WR.mutationToDom,domToMutation:WR.domToMutation,decompose:WR.decompose,compose:WR.compose,saveConnections:WR.saveConnections,updateShape_:WR.updateShape_},QR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("test"),"NAME").appendField("=").appendField(new a_.FieldTextInput("Test"),"TYPE").appendField("()"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("test"),"NAME").appendField(".").appendField(new a_.FieldTextInput("callMethod"),"METHOD"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:WR.mutationToDom,domToMutation:WR.domToMutation,decompose:WR.decompose,compose:WR.compose,saveConnections:WR.saveConnections,updateShape_:WR.updateShape_},qR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("test"),"NAME").appendField(".").appendField(new a_.FieldTextInput("callMethod"),"METHOD"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setOutput(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:WR.mutationToDom,domToMutation:WR.domToMutation,decompose:WR.decompose,compose:WR.compose,saveConnections:WR.saveConnections,updateShape_:WR.updateShape_},jR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput('display.scroll("Hello World!")'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("test"),"VALUE"),this.setOutput(!0)}},_r={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldMultilineInput('display.scroll("Hello World!")\ndisplay.scroll("Hello Mixly!")'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tr={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldMultilineInput("Hello\nMixly"),"VALUE"),this.setOutput(!0)}},er={init:function(){this.setColour(VR),this.appendDummyInput().appendField(new a_.FieldTextInput(a_.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.FOLDING_BLOCK_HELP)}},ir=20,Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_HIGH,"HIGH"],[a_.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},Er={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},nr={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},or={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField("PWM"+a_.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_TOOLTIP)}},sr={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField("DAC"+a_.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Or={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_mSecond,"period"],[a_.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},Ir={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField("PWM"+a_.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(a_.Msg.MIXLY_FREQUENCY+a_.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},ar={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_TOOLTIP)}},pr={init:function(){this.setColour(ir),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_REF_VOLTAGE+a_.Msg.MIXLY_STAT).appendField(new a_.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Mr={init:function(){this.setColour(ir),this.appendValueInput("pin").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Lr={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Rr={init:function(){this.setColour(20),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROPYTHON_AS).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[a_.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[a_.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[a_.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},rr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldTextInput("pwm#"),"PIN_OBJ").appendField(a_.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("PWM"+a_.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["pwm#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Sr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldTextInput("dac#"),"PIN_OBJ").appendField(a_.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+a_.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},lr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldTextInput("adc#"),"PIN_OBJ").appendField(a_.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_Analog_PINMODEIN),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_ANALOG_READ_INIT_TOOLTIP)},getVars:function(){return["adc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Ar={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldTextInput("tc#"),"PIN_OBJ").appendField(a_.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Pr=Rr,Nr=Ir,dr=Ar,hr=Mr,ur=Lr,mr="#526FC3",Cr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},cr={init:function(){this.setColour(mr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+a_.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},Hr={init:function(){this.setColour(mr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},Dr={init:function(){this.setColour(mr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},Yr={init:function(){this.setColour(mr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(a_.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new a_.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},Ur={init:function(){this.setColour(mr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField(new a_.FieldLabel(a_.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(a_.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("iot_publish_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("iot_create_with_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){var t=_.getInputTargetBlock("STACK"),e=[];let i=0;for(;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(let _=0;_<this.itemCount_;_++)e[_]&&this.getInput("ADD"+_).connection.connect(e[_])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");var _=[];for(let t=0;this.getInput("ADD"+t);t++)_.push(this.getFieldValue("KEY"+t)),this.removeInput("ADD"+t);if(0==this.itemCount_)this.setFieldValue(a_.Msg.MIXLY_ESP32_PUBLISH_ONENET_EMPTY,"TIP");else{this.setFieldValue(a_.Msg.MIXLY_ESP32_PUBLISH_ONENET,"TIP");for(let t=0;t<this.itemCount_;t++)this.appendValueInput("ADD"+t).setCheck(null).setAlign(a_.inputs.Align.RIGHT).appendField(new a_.FieldTextInput(_.length>t?_[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Br={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},gr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Gr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Fr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(a_.Msg.MIXLY_WIFI_USERNAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(a_.Msg.MIXLY_IOT_PASSWORD).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(a_.Msg.MIXLY_EMQX_PROJECT).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(a_.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},fr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(a_.Msg.MIXLY_EMQX_SUBSCRIBE+a_.Msg.MIXLY_MICROBIT_MSG).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},br={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Vr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},kr={init:function(){this.setColour(mr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},wr={init:function(){this.setColour(mr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Wr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Kr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(a_.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+a_.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(a_.Msg.MIXLY_EMQX_SERVER).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.VISITOR_ID=p_.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mr),this.appendDummyInput("").appendField(new a_.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const _=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==_&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Jr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(a_.Msg.MIXLY_REQUESTS_GET).appendField(a_.Msg.MIXLY_GET_CURRENT_TIME).appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("HTTP"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},$r={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(a_.Msg.MIXLY_INIT_SUBSCRIBE).appendField(a_.Msg.MQTT_Topic).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(a_.Msg.MIXLY_OPEN_DEBUG).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_S={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MQTT"+a_.Msg.MIXLY_Client).appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_REQUESTS_LEN,"client_len"],[a_.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[a_.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},tS=Cr,eS=cr,iS=Hr,TS=Dr,ES=Ur,nS=225,oS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(a_.Msg.MIXLY_NETWORK_MODE).appendField(new a_.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},sS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[a_.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("op"),e=a_.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:a_.Msg.MIXLY_NETWORK_WIFI_OPEN,False:a_.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+e}))}},OS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},IS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:a_.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},aS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(a_.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(a_.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},pS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},MS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[a_.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:a_.Msg.MIXLY_ESP32_NETWORK_IP,1:a_.Msg.MIXLY_ESP32_NETWORK_MASK,2:a_.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},LS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},RS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},rS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(a_.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(a_.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},SS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},lS={init:function(){this.setColour(nS),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("mode");return a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},AS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},PS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},NS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},dS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},hS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},uS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},mS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},CS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},cS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},HS={init:function(){this.setColour(nS),this.appendValueInput("DOMAIN").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS_GET).appendField(new a_.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(_,t){a_.Names.equals(_,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},DS={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[a_.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(nS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown(_),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var _=t.getFieldValue("DIR");return{clear:a_.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:a_.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:a_.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[_]}))}},YS={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(nS),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("DIR");return{forward:a_.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:a_.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))}},US={init:function(){this.setColour(nS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(a_.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},BS={init:function(){this.setColour(nS),this.appendDummyInput("").appendField(new a_.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},gS=100,GS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(t),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},FS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},yS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Direction).appendField(new a_.FieldDropdown([[a_.Msg.CLOCKWISE,"CW"],[a_.Msg.ANTI_CLOCKWISE,"CCW"],[a_.Msg.MOTOR_P,"P"],[a_.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(a_.Msg.MOTOR_DC).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},bS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_MOVE)}},xS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},vS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+a_.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},XS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+a_.Msg.MIXLY_SERVO).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},VS="#A58C5B",kS={init:function(){this.setColour(VS),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_IS_PRESSED)}},wS={init:function(){this.setColour(VS),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_WAS_PRESSED)}},WS={init:function(){this.setColour(VS),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_BUTTON+a_.Msg.MIXLY_GET_PRESSES)}},KS={init:function(){this.setColour(VS),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},zS={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"],[a_.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down,freefall:a_.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+E}))}},ZS={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},QS={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},JS={init:function(){var _=[[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(VS),this.appendValueInput("PIN",Number).appendField(new a_.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var _=t.getFieldValue("WHAT");return{temperature:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[_]}))}},qS={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},jS={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},$S={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"left"],[a_.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{left:a_.Msg.TEXT_TRIM_LEFT,right:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},_l={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[a_.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_BMP_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":a_.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},tl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[a_.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{"get_SHT_temperature()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},el={init:function(){this.setColour(VS),this.appendValueInput("PIN",Number).appendField("DS18x20 "+a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},il={init:function(){this.setColour(VS),this.appendDummyInput("").appendField("LM35"+a_.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_LM35)}},Tl={init:function(){this.setColour(VS),this.appendValueInput("I2CSUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"],["LTR308","LTR308"],["LTR381RGB","LTR381RGB"],["HP203X","HP203X"],["SHTC3","SHTC3"],["AHT21","AHT21"],["VL53L0X","VL53L0X"],["QMC5883L","QMC5883L"],["MAX30102","MAX30102"],["APDS9960","APDS9960"],["RFID","RFID"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("LTR308","key")}},El={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[a_.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[a_.Msg.MIXLY_ESP32_MAX30102_IR+","+a_.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[a_.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[a_.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ol={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET+a_.Msg.HTML_COLOUR,"[2]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_IR_STRENGTH,"[1]"],[a_.Msg.MIXLY_GET+a_.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ol={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GET_ENV_LIGHT,"E"],[a_.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},al={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},pl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ml={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Altitude+a_.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETPRESSURE,"pressure()"],[a_.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[a_.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MIXGOPE_FIELD+a_.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[a_.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down}[t]+E}))}},rl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},Sl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},ll={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},Al={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Pl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_GETTEMPERATUE)}},Nl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("compass");return a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},dl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},hl={init:function(){this.setColour(VS),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},ul={init:function(){this.setColour(VS),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[a_.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ml={init:function(){this.setColour(VS),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cl={init:function(){this.setColour(VS),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},cl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(a_.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Dl={init:function(){this.setColour(VS),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RFID_SCAN_OK,"0"],[a_.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[a_.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([["全部(元组)","data()[0]"],["全部json","data()[1]"],["全部json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Ul={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("weather_set_label_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("weather_set_label_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_GPS_LOCATION+a_.Msg.mixpy_PYLAB_TICKS_TAG+"(id,long,lat)");else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_GPS_LOCATION+a_.Msg.mixpy_PYLAB_TICKS_TAG+"(id,long,lat)")}}},Gl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_GPS_LOCATION+a_.Msg.mixpy_PYLAB_TICKS_TAG),this.appendStatementInput("STACK"),this.contextMenu=!1}},Fl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},yl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_HOT_WHEEL).appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_UP,"4"],[a_.Msg.MIXLY_DOWN,"2"],[a_.Msg.MIXLY_LEFT,"3"],[a_.Msg.MIXLY_RIGHT,"1"],["OK","0"]]),"key"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_DATA,"value"],[a_.Msg.MIXLY_PULSEIN_STAT,"is_touched()"]]),"stat"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip()}},fl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_HOT_WHEEL).appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR).appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+"(-180°~180°)"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip()}},bl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETUP+a_.Msg.ForecastType+a_.Msg.MSG.catSensor),this.appendValueInput("wd").setCheck(Number).appendField("wd"),this.appendValueInput("ws").setCheck(Number).appendField("ws"),this.appendValueInput("rain").setCheck(Number).appendField("rain"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ForecastType+a_.Msg.MSG.catSensor).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.ForecastFx),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(VS),this.appendValueInput("rain").appendField(a_.Msg.ForecastType+a_.Msg.MSG.catSensor).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(a_.Msg.MIXLY_RAIN_TIME+a_.Msg.MIXLY_RAIN),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xl={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ForecastType+a_.Msg.MSG.catSensor).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.blynk_IOT_IR_FAN,"0"],[a_.Msg.MIXLY_WIND_RATING,"1"],[a_.Msg.blynk_IOT_IR_FAN+a_.Msg.MIXLY_WIND_RATING,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},kl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.PS2),this.appendDummyInput("").appendField("CLK#").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PS2_CLK").appendField("DOU#").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PS2_DOU").appendField("DIN#").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PS2_DIN").appendField("CS#").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PS2_CS"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}};var wl=[[a_.Msg.PS2_TRIANGLE,"PSB_GREEN"],[a_.Msg.PS2_CIRCLE,"PSB_RED"],[a_.Msg.PS2_CROSS,"PSB_BLUE"],[a_.Msg.PS2_SQUARE,"PSB_PINK"],[a_.Msg.PS2_L1,"PSB_L1"],[a_.Msg.PS2_L2,"PSB_L2"],[a_.Msg.PS2_R1,"PSB_R1"],[a_.Msg.PS2_R2,"PSB_R2"],[a_.Msg.PS2_UP,"PSB_PAD_UP"],[a_.Msg.PS2_RIGHT,"PSB_PAD_RIGHT"],[a_.Msg.PS2_DOWN,"PSB_PAD_DOWN"],[a_.Msg.PS2_LEFT,"PSB_PAD_LEFT"],[a_.Msg.PS2_SELECT,"PSB_SELECT"],[a_.Msg.PS2_START,"PSB_START"]];const Wl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.PS2+a_.Msg.PS2_setRumble).appendField(a_.Msg.MIXLY_STM32_OLED_SMALL+a_.Msg.MSG.catActuator_motor).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"0"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"1"]]),"smotorstate").appendField(a_.Msg.MIXLY_STM32_OLED_BIG+a_.Msg.MSG.catActuator_motor+a_.Msg.MIXLY_MIXGOPE_AMPLITUDE),this.appendValueInput("AMP",Number),this.setTooltip(a_.Msg.MIXLY_STM32_OLED_BIG+a_.Msg.MSG.catActuator_motor+a_.Msg.MIXLY_MIXGOPE_AMPLITUDE+"0-100"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.PS2_BUTTON).appendField(new a_.FieldDropdown(wl),"psbt").appendField(a_.Msg.MIXLY_PULSEIN_STAT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_BUTTON_HOLD,"Button"]]),"btstate"),this.setOutput(!0,Boolean),this.setTooltip("")}},zl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GET+a_.Msg.PS2_BUTTON).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_PULSEIN_STAT,"0"],[a_.Msg.MIXLY_MICROBIT_JS_I2C_VALUE,"1"]]),"btstate"),this.setOutput(!0,Boolean),this.setTooltip("")}},Zl={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.PS2_BUTTON).appendField(new a_.FieldDropdown(wl),"psbt"),this.setOutput(!0,Boolean),this.setTooltip("")}},Ql={init:function(){this.setColour(VS);var _=[[a_.Msg.PS2_RX,"0"],[a_.Msg.PS2_RY,"1"],[a_.Msg.PS2_LX,"2"],[a_.Msg.PS2_LY,"3"]];this.appendDummyInput("").appendField(a_.Msg.PS2_stick).appendField(new a_.FieldDropdown(_),"psstk"),this.setOutput(!0,Number),this.setTooltip("")}},Jl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.PS2),this.appendValueInput("CLK").appendField("CLK#"),this.appendValueInput("DOU").appendField("DOU#"),this.appendValueInput("DIN").appendField("DIN#"),this.appendValueInput("CS").appendField("CS#"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ql={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.PS2),this.appendDummyInput("").appendField(a_.Msg.PS2_setRumble).appendField(a_.Msg.MIXLY_STM32_OLED_SMALL+a_.Msg.MSG.catActuator_motor).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"0"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"1"]]),"smotorstate").appendField(a_.Msg.MIXLY_STM32_OLED_BIG+a_.Msg.MSG.catActuator_motor+a_.Msg.MIXLY_MIXGOPE_AMPLITUDE),this.appendValueInput("AMP",Number),this.setTooltip(a_.Msg.MIXLY_STM32_OLED_BIG+a_.Msg.MSG.catActuator_motor+a_.Msg.MIXLY_MIXGOPE_AMPLITUDE+"0-100"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jl={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.PS2),this.appendDummyInput("").appendField(a_.Msg.PS2_BUTTON.slice(3)).appendField(new a_.FieldDropdown(wl),"psbt").appendField(a_.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setTooltip("")}},$l={init:function(){this.setColour(VS);var _=[[a_.Msg.PS2_RX,"RX"],[a_.Msg.PS2_RY,"RY"],[a_.Msg.PS2_LX,"LX"],[a_.Msg.PS2_LY,"LY"]];this.appendValueInput("SUB").appendField(a_.Msg.PS2),this.appendDummyInput("").appendField(a_.Msg.MIXLY_JOYSTICK).appendField(new a_.FieldDropdown(_),"psstk"),this.setOutput(!0,Number),this.setTooltip("")}},_A={init:function(){this.setColour(VS),this.appendDummyInput("").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new a_.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_PM25_SENSOR,"PM"],[a_.Msg.MIXLY_GNSS_SENSOR,"GNSS"]]),"sensor"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},tA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("PM2.5"+a_.Msg.MSG.catSensor),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["PM2.5","[0]"],["PM10","[1]"],["(PM2.5, PM10)",""]]),"pm"),this.appendDummyInput().appendField(a_.Msg.MIXLY_CONCENTRATION),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PM_CONCENTRATION_TOOLTIP)}},eA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_GNSS_SENSOR).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},iA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_GNSS_SENSOR).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GPS_TIME,"time"],[a_.Msg.MIXLY_GPS_LOCATION,"locate"],[a_.Msg.MIXLY_PULSEIN_STAT,"status"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{time:a_.Msg.MIXLY_GNSS_SENSOR_GET_TIME_TOOLTIP,locate:a_.Msg.MIXLY_GNSS_SENSOR_GET_LOCATE_TOOLTIP,status:a_.Msg.MIXLY_GNSS_SENSOR_GET_STATUS_TOOLTIP}[t]}))}},TA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_BUTTON).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.TURTLE_POS).appendField(new a_.FieldDropdown([[a_.Msg.mixpy_PL_TEXT_TOP,"[0]"],[a_.Msg.mixpy_PL_TEXT_BOTTOM,"[1]"],[a_.Msg.TEXT_TRIM_LEFT,"[2]"],[a_.Msg.TEXT_TRIM_RIGHT,"[3]"],[a_.Msg.mixpy_PL_TEXT_CENTER,"[4]"]]),"num"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},EA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH+a_.Msg.MSG.catSensor).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_TOUCHED+"?"),this.setOutput(!0,Boolean),this.setInputsInline(!0)}},nA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_ESP32_EXTERN_NEAR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},oA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_ESP32_EXTERN_GRAY_NEAR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},sA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_KNOB_POTENTIOMETER).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},OA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.HTML_COLOUR+a_.Msg.HTML_NAME,"[0]"],["RGB"+a_.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"[1]"],[a_.Msg.MIXLY_ENVIRONMENT_BRIGHTNESS,"[2]"],[a_.Msg.MIXLY_REFLECTION_BRIGHTNESS,"[3]"],[a_.Msg.MIXLY_ALL,""]]),"color"),this.setOutput(!0,Boolean),this.setInputsInline(!0)}},IA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_BUTTON,"ext_button"],[a_.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH+a_.Msg.MSG.catSensor,"ext_collision"],[a_.Msg.MIXLY_ESP32_EXTERN_NEAR,"ext_infrared"],[a_.Msg.MIXLY_KNOB_POTENTIOMETER,"ext_potentiometer"],[a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor,"ext_color"],[a_.Msg.MIXLY_EXTERN_SONAR,"ext_sonar"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},aA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.MIXBOT).appendField(a_.Msg.ME_GO_MOTOR_EXTERN).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_BUTTON,"ext_button"],[a_.Msg.MIXLY_MICROBIT_JS_INOUT_EVENT_TOUCH+a_.Msg.MSG.catSensor,"ext_collision"],[a_.Msg.MIXLY_ESP32_EXTERN_NEAR,"ext_infrared"],[a_.Msg.MIXLY_KNOB_POTENTIOMETER,"ext_potentiometer"],[a_.Msg.HTML_COLOUR+a_.Msg.MSG.catSensor,"ext_color"],[a_.Msg.MIXLY_EXTERN_SONAR,"ext_sonar"]]),"name"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_EXTERN_SONAR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_DATA+"(cm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MA={init:function(){this.setColour(VS),this.appendDummyInput().appendField(a_.Msg.ME_GO_MOTOR_EXTERN+a_.Msg.MIXLY_EXTERN_SONAR).appendField(a_.Msg.PIN_NUMBERING).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LEFT,"0"],[a_.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EXTERN_INDICATOR_LIGHT),this.appendValueInput("light").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LCD_NUMBERING),this.appendValueInput("bright").appendField(a_.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},LA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.weather_solo),this.appendValueInput("wd").appendField("W-D#"),this.appendValueInput("ws").appendField("W-S#"),this.appendValueInput("rain").appendField("Rain#"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},RA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.weather_solo),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.ForecastFx).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ABBR,"[0]"],[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[1]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.weather_solo),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_WIND_SPEED).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SPEED+"m/s","[0]"],[a_.Msg.MIXLY_WIND_RATING,"[1]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},SA={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField(a_.Msg.weather_solo),this.appendValueInput("time").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RAIN_TIME).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ACCUMULATED,"[0]"],[a_.Msg.MIXLY_AVERAGE,"[1]"]]),"key"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RAIN+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lA="#947C54",AA={init:function(){this.setColour(lA),this.appendValueInput("btn").appendField(a_.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_IS_PRESSED)}},PA={init:function(){this.setColour(lA),this.appendValueInput("btn").appendField(a_.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_WAS_PRESSED)}},NA={init:function(){this.setColour(lA),this.appendValueInput("btn").appendField(a_.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_BUTTON+a_.Msg.MIXLY_GET_PRESSES)}},dA={init:function(){this.setColour(lA),this.appendValueInput("btn").appendField(a_.Msg.MIXLY_ESP32_INTERRUPT).appendField(a_.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},hA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_IS_PRESSED)}},uA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(a_.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SENOR_WAS_PRESSED)}},mA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_BUTTON+a_.Msg.MIXLY_GET_PRESSES)}},CA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_INTERRUPT).appendField(a_.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[a_.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[a_.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},cA={init:function(){this.setColour(lA),this.appendValueInput("button").appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},HA={init:function(){this.setColour(lA),this.appendValueInput("button").appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},DA={init:function(){this.setColour(lA),this.appendValueInput("button").appendField(a_.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(a_.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},YA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},UA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_CHAOSHENGBO)}},BA={init:function(){this.setColour(lA),this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(a_.Msg.MIXLY_RTCSETTIME+a_.Msg.MIXLY_MIX2)}},gA={init:function(){this.setColour(lA),this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(" "+a_.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_RTCSETDATE+a_.Msg.MIXLY_MIX1)}},GA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},FA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},yA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},fA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},bA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_UP,"12"],[a_.Msg.MIXLY_DOWN,"14"],[a_.Msg.MIXLY_LEFT,"13"],[a_.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},xA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},vA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},XA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},VA={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},kA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+a_.Msg.MIXLY_ESP32_NEAR)}},wA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"left"],[a_.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{left:a_.Msg.TEXT_TRIM_LEFT,right:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},WA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.mixpy_PL_TEXT_TOP,"l"],[a_.Msg.mixpy_PL_TEXT_BOTTOM,"r"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{l:a_.Msg.mixpy_PL_TEXT_TOP,r:a_.Msg.mixpy_PL_TEXT_BOTTOM}[t]+i}))}},KA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"l"],[a_.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{l:a_.Msg.TEXT_TRIM_LEFT,r:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},zA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"l"],[a_.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_EXTERN_LIGHT;return e+{l:a_.Msg.TEXT_TRIM_LEFT,r:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},ZA={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.mixpy_PL_TEXT_TOP,"l"],[a_.Msg.mixpy_PL_TEXT_BOTTOM,"r"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_EXTERN_LIGHT+a_.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_EXTERN_LIGHT;return e+{l:a_.Msg.mixpy_PL_TEXT_TOP,r:a_.Msg.mixpy_PL_TEXT_BOTTOM}[t]+i}))}},QA={init:function(){this.setColour(lA),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},JA={init:function(){this.setColour(lA),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},qA={init:function(){this.setColour(lA),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(a_.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},jA={init:function(){this.setColour(lA),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(a_.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$A={init:function(){this.setColour(lA),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+a_.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+a_.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+a_.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+a_.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+a_.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+a_.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},_P={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},tP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},eP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},iP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return{temperature:a_.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:a_.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[t]}))}},TP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},EP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_Altitude+a_.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_GETPRESSURE,"pressure()"],[a_.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[a_.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nP={init:function(){this.setColour(lA),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},oP={init:function(){this.setColour(lA),this.appendDummyInput().appendField("RFID"+a_.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},sP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(a_.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(a_.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(a_.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},IP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[a_.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{"[0]":"x","[1]":"y","[2]":"z","":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},aP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GET_GESTURE_ALL).appendField(new a_.FieldDropdown([[a_.Msg.ME_GO_PITCH,"[0]"],[a_.Msg.ME_GO_ROLL,"[1]"],[a_.Msg.ME_GO_PITCH+", "+a_.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},pP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_shake,"shake"],[a_.Msg.MIXLY_UP,"up"],[a_.Msg.MIXLY_DOWN,"down"],[a_.Msg.MIXLY_LEFT,"left"],[a_.Msg.MIXLY_RIGHT,"right"],[a_.Msg.MIXLY_MICROBIT_face_up,"face up"],[a_.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("gesture"),e=a_.Msg.MIXLY_MICROBIT_JS_CURRENT,i=a_.Msg.MSG.catSensor,T=a_.Msg.MIXLY_MICROBIT_JS_STATE,E=a_.Msg.MIXLY_MICROBIT_PERFORMANCE;return e+i+T+{shake:a_.Msg.MIXLY_MICROBIT_shake,up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT,"face up":a_.Msg.MIXLY_MICROBIT_face_up,"face down":a_.Msg.MIXLY_MICROBIT_face_down}[t]+E}))}},MP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},LP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},RP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{x:"x",y:"y",z:"z","(x,y,z)":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},rP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},SP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_GETTEMPERATUE)}},lP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("compass");return a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},AP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},PP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new a_.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return e+{"[0]":"x","[1]":"y","[2]":"z","":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},NP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},hP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},uP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},mP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{"[0]":"x","[1]":"y","[2]":"z","":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},CP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_GETTEMPERATUE)}},cP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"1"],[a_.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(a_.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("direction"),e=a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,i=a_.Msg.MIXLY_ESP32_NEAR;return e+{left:a_.Msg.TEXT_TRIM_LEFT,right:a_.Msg.TEXT_TRIM_RIGHT}[t]+i}))}},HP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},DP={init:function(){this.setColour(lA),this.appendDummyInput().appendField("acc"+a_.Msg.MIXLY_MICROBIT_JS_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ADXL345_XA,"[0]"],[a_.Msg.MIXLY_ADXL345_YA,"[1]"],[a_.Msg.MIXLY_ACC_SHAKE,"[2]"],[a_.Msg.MIXLY_ADXL345_XA+","+a_.Msg.MIXLY_ADXL345_YA+","+a_.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},YP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.TEXT_TRIM_LEFT,"[0]"],[a_.Msg.MIXGO_LEFT_MID,"[1]"],[a_.Msg.MIXGO_RIGHT_MID,"[2]"],[a_.Msg.TEXT_TRIM_RIGHT,"[3]"],[a_.Msg.MIXLY_ALL,""]]),"key").appendField(a_.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+a_.Msg.MIXLY_ESP32_NEAR}))}},UP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXGO_LEFT_FRONT,"[0]"],[a_.Msg.MIXGO_RIGHT_FRONT,"[1]"],[a_.Msg.MIXGO_LEFT_BACK,"[3]"],[a_.Msg.MIXGO_RIGHT_BACK,"[2]"],[a_.Msg.MIXLY_ALL,""]]),"key").appendField(a_.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+a_.Msg.MIXLY_ESP32_NEAR}))}},BP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[a_.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[a_.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},GP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXGO_LINE_SENSOR).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[a_.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[a_.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXGO_LEFT_FRONT,"[0]"],[a_.Msg.MIXGO_RIGHT_FRONT,"[1]"],[a_.Msg.MIXGO_LEFT_BACK,"[3]"],[a_.Msg.MIXGO_RIGHT_BACK,"[2]"],[a_.Msg.MIXLY_ALL,""]]),"key").appendField(a_.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return a_.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+a_.Msg.MIXLY_ESP32_NEAR}))}},yP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_GET+a_.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},fP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new a_.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e=a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,i=a_.Msg.MIXLY_MICROBIT_Direction,T=a_.Msg.MIXLY_ESP32_SENOR_GYRO;return e+{"[0]":"x","[1]":"y","[2]":"z","":a_.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+i+T}))}},bP={init:function(){this.setColour(lA),this.appendDummyInput().appendField(a_.Msg.ANALOG+a_.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xP={init:function(){this.setColour(lA),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},vP=AA,XP=PA,VP=NA,kP=cA,wP=WA,WP=FA,KP=JS,zP=Nl,ZP=Pl,QP=65,JP={init:function(){this.setColour(QP),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_WRITE+"("+a_.Msg.LANG_MATH_BYTE+")"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)}},qP={init:function(){this.setColour(QP),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)}},jP={init:function(){this.setColour(QP),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.TEXT_PRINT_Huanhang_TOOLTIP+a_.Msg.TEXT_PRINT_TOOLTIP)}},$P={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new a_.FieldDropdown([[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_DEC,"int"],[a_.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(a_.Msg.TEXT_PRINT_HEX_TOOLTIP)}},_N={init:function(){this.setColour(QP),this.appendValueInput("char_marker").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO)}},tN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},eN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_SERIAL_AVAILABLE1)}},iN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},TN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial "+a_.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new a_.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},EN={init:function(){this.setColour(QP),this.appendValueInput("RX").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField("RX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField(a_.Msg.MIXLY_SERIAL_BEGIN).appendField(new a_.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SERIAL_softserial)}},nN={init:function(){this.setColour(QP),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldDropdown([["uart1 (RX=23,TX=19)","1"],["uart2 (RX=5,TX=18)","2"]]),"mode"),this.appendDummyInput().appendField(a_.Msg.MIXLY_SERIAL_BEGIN).appendField(new a_.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_SERIAL_softserial)}},oN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial "+a_.Msg.MIXLY_SERIAL_BEGIN).appendField(new a_.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.MIXLY_SERIAL_BEGIN)}},sN={init:function(){this.setColour(QP),this.appendValueInput("VAR").appendField(a_.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(a_.Msg.INOUT_input_TOOLTIP)}},ON={init:function(){this.setColour(QP),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.BLOCKPY_PRINT_TOOLTIP)}},IN={init:function(){this.setColour(QP),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.TEXT_PRINT_TOOLTIP)}},aN={init:function(){this.setColour(QP),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(a_.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},pN={init:function(){this.setColour(QP),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new a_.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var _=document.createElement("mutation");return _.setAttribute("items",this.itemCount_),_},domToMutation:function(_){this.itemCount_=parseInt(_.getAttribute("items"),10),this.updateShape_()},decompose:function(_){var t=_.newBlock("system_print_container");t.initSvg();for(var e=t.getInput("STACK").connection,i=0;i<this.itemCount_;i++){var T=_.newBlock("system_print_item");T.initSvg(),e.connect(T.previousConnection),e=T.nextConnection}return t},compose:function(_){for(var t=_.getInputTargetBlock("STACK"),e=[],i=0;t;)e[i]=t.valueConnection_,t=t.nextConnection&&t.nextConnection.targetBlock(),i++;this.itemCount_=i,this.updateShape_();for(i=0;i<this.itemCount_;i++)e[i]&&this.getInput("ADD"+i).connection.connect(e[i])},saveConnections:function(_){for(var t=_.getInputTargetBlock("STACK"),e=0;t;){var i=this.getInput("ADD"+e);t.valueConnection_=i&&i.connection.targetConnection,e++,t=t.nextConnection&&t.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var _=0;this.getInput("ADD"+_);)this.removeInput("ADD"+_),_++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(a_.Msg.MIXLY_MIXPY_INOUT_PRINT_EMPTY);else for(_=0;_<this.itemCount_;_++){var t=this.appendValueInput("ADD"+_);0==_&&t.appendField(a_.Msg.MIXLY_SERIAL_PRINTLN)}}},MN={init:function(){this.setColour(QP),this.appendDummyInput().appendField(a_.Msg.MIXLY_SERIAL_PRINTLN),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP),this.contextMenu=!1}},LN={init:function(){this.setColour(QP),this.appendDummyInput().appendField(a_.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_ITEM_TOOLTIP),this.contextMenu=!1}},RN={init:function(){this.setColour(QP),this.appendValueInput("CONTENT").appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_EMQX_PUBLISH),this.appendDummyInput().appendField(a_.Msg.LANG_CONTROLS_FOR_INPUT_TO+a_.Msg.MIXLY_OTHER+"MP"+a_.Msg.MIXLY_DEVICE).appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rN={init:function(){this.setColour(QP),this.appendDummyInput().appendField("Serial").appendField(new a_.FieldDropdown([["uart1","1"],["uart2","2"]]),"mode").appendField(a_.Msg.MIXLY_ESP32_READ+a_.Msg.MIXLY_OTHER+"MP"+a_.Msg.MIXLY_DEVICE+a_.Msg.MIXLY_SD_DATA),this.setOutput(!0,Boolean)}},SN=120,lN={init:function(){this.setColour(SN),this.appendDummyInput().appendField(a_.Msg.MIXLY_DELAY),this.appendValueInput("DELAY_TIME",Number).setCheck(Number),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SECOND,"s"],[a_.Msg.MIXLY_mSecond,"ms"],[a_.Msg.MIXLY_uSecond,"us"]]),"Time"),this.setFieldValue("s","Time"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},AN={init:function(){this.setColour(SN),this.appendDummyInput().appendField(a_.Msg.MIXLY_DELAY),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SECOND,"s"],[a_.Msg.MIXLY_mSecond,"ms"],[a_.Msg.MIXLY_uSecond,"us"]]),"Time"),this.appendValueInput("DELAY_TIME",Number).setCheck(Number),this.setFieldValue("ms","Time"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},PN={init:function(){this.setColour(SN),this.appendValueInput("STATUS_CODE",Number).appendField(a_.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Panic_with_status_code)}},NN={init:function(){this.setColour(SN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Reset_micro)}},dN={init:function(){this.setColour(SN),this.appendDummyInput().appendField(a_.Msg.MIXLY_RUNTIME),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_mSecond,"ms"],[a_.Msg.MIXLY_uSecond,"us"]]),"Time"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_CONTROLS_MILLIS_TOOLTIP)}},hN={init:function(){this.setColour(SN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput("12345"),"TEXT")}},uN={init:function(){this.setColour(SN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.PROCEDURES_DEFRETURN_RETURN+a_.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME)}},mN={init:function(){this.setColour(SN),this.appendValueInput("VAR").appendField("Timer").setCheck("var"),this.appendValueInput("period").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL),this.appendValueInput("mode").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE),this.appendValueInput("callback").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_TIMER_TOOLTIP)}},CN={init:function(){this.setColour(SN),this.appendValueInput("VAR").appendField("Timer").setCheck("var"),this.appendValueInput("period").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_mSecond).appendField(a_.Msg.MIXLY_MODE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_PYTHON_ONE_SHOT,"ONE_SHOT"],[a_.Msg.MIXLY_PYTHON_PERIODIC,"PERIODIC"]]),"mode"),this.appendValueInput("callback").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SYSTEM_TIMER_TOOLTIP)}},cN={init:function(){this.setColour(SN),this.appendValueInput("END").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_ESP32_TIME_TICKS_DIFF),this.appendValueInput("START").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_ESP32_TIME_MINUS),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SYSTEM_TICKS_DIFF_TOOLTIP)}},HN={init:function(){this.setColour(SN),this.appendDummyInput("").appendField("Timer"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_SETUP),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_ESP32_SYSTEM_TIMER_INIT_TOOLTIP)}},DN={init:function(){this.setColour(SN),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MACHINE_WDT).appendField(a_.Msg.MIXLY_SETUP),this.appendValueInput("period").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MACHINE_WDT_TIMEOUT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.MIXLY_mSecond),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_MACHINE_WDT_INIT_TOOLTIP)}},YN={init:function(){this.setColour(SN),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MACHINE_WDT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MACHINE_FEED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_MACHINE_WDT_FEED_TOOLTIP)}},UN={init:function(){this.setColour(SN),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MACHINE_RESET),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_MACHINE_RESET_TOOLTIP)}},BN={init:function(){this.setColour(SN),this.appendDummyInput("").appendField(a_.Msg.BITBOT),this.appendDummyInput("").appendField(a_.Msg.SHUTDOWN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MICROPYTHON_BITBOT_SHUTDOWN_TOOLTIP)}},gN=HN,GN=CN,FN=cN,yN=AN,fN="#27b6ac",bN={init:function(){this.setColour(fN),this.appendDummyInput().appendField(a_.Msg.MSG.catweather).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_NOW,"weather_now"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_ALARM,"weather_alarm"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_NOW,"air_now"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_TIDE_DAILY,"tide_daily"],[a_.Msg.MIXLY_WEB_PLACE+a_.Msg.HTML_SEARCH,"location_search"]]),"mode"),this.appendValueInput("key").appendField(a_.Msg.MIXLY_API_PRIVATE_KEY),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.setInputsInline(!0),this.setOutput(!0)}},xN={init:function(){this.setColour(fN),this.appendDummyInput().appendField(a_.Msg.MSG.catweather).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_DAILY,"weather_daily"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_LIFE_SUGGESTION,"life_suggestion"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_AIR_DAILY,"air_daily"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_SUN,"geo_sun"],[a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_GEO_MOON,"geo_moon"]]),"mode"),this.appendValueInput("key").appendField(a_.Msg.MIXLY_API_PRIVATE_KEY),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("day").appendField(a_.Msg.MIXLY_WEB_DAILY),this.setInputsInline(!0),this.setOutput(!0)}},vN={init:function(){this.setColour(fN),this.appendDummyInput().appendField(a_.Msg.MSG.catweather).appendField(a_.Msg.MIXLY_WEB_DATA_SENIVERSE_GET_WEATHER_HOURS),this.appendValueInput("key").appendField(a_.Msg.MIXLY_API_PRIVATE_KEY),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("hour").appendField(a_.Msg.MIXLY_WEB_HOURS),this.setInputsInline(!0),this.setOutput(!0)}},XN=function(_,t){t.definitions_.import_servo="import servo",t.definitions_.import_board="import board";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = servo.Servo(board."+e+")\n"},VN=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".set_speed("+t.valueToCode(this,"SPEED",t.ORDER_ATOMIC)+")\n"},kN=function(_,t){return t.definitions_.import_servo="import servo","servo.servo180_angle("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},wN=function(_,t){return t.definitions_.import_servo="import servo","servo.servo360_speed("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},WN=function(_,t){return t.definitions_.import_servo="import servo",["servo.servo180_angle("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},KN=function(_,t){return t.definitions_.import_servo="import servo",["servo.servo360_speed("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zN=function(_,t){t.definitions_["import ms32006"]="import ms32006";var e=this.getFieldValue("mode");return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"=ms32006.MS32006("+t.valueToCode(this,"SUB1",t.ORDER_ATOMIC)+",addr="+e+")\n"},ZN=function(_,t){t.definitions_["import ms32006"]="import ms32006";var e=this.getFieldValue("direction");return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".dc_motor("+e+","+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},QN=function(_,t){t.definitions_["import ms32006"]="import ms32006";var e=this.getFieldValue("mode"),i=this.getFieldValue("direction");return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".move("+e+","+i+","+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+","+t.valueToCode(this,"steps",t.ORDER_ATOMIC)+")\n"},JN=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return t.definitions_.import_music="import music",e+" = music.MIDI("+i+")\n"},qN=function(_,t){return t.definitions_.import_music="import music",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pitch("+t.valueToCode(_,"pitch",t.ORDER_ATOMIC)+")\n"},jN=function(_,t){return t.definitions_.import_music="import music",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pitch_time("+t.valueToCode(_,"pitch",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"time",t.ORDER_ATOMIC)+")\n"},$N=function(_,t){return t.definitions_.import_music="import music",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".stop()\n"},_d=function(_,t){t.definitions_.import_music="import music";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"BPM",t.ORDER_ASSIGNMENT);return e+".set_tempo("+t.valueToCode(this,"TICKS",t.ORDER_ASSIGNMENT)+", "+i+")\n"},td=function(_,t){return t.definitions_.import_music="import music",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_tempo()",t.ORDER_ATOMIC]},ed=function(_,t){t.definitions_.import_music="import music";var e=t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT),i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".play("+i+"."+e+")\n"},id=function(_,t){return t.definitions_.import_music="import music",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".reset()\n"},Td=function(_,t){return t.definitions_.import_servo="import servo",t.definitions_.import_machine="import machine","servo.servo_write_angle("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DEGREE",t.ORDER_ATOMIC)+")\n"},Ed=function(_,t){t.definitions_.import_mixgo="import mixgo";var e=t.valueToCode(this,"bright",t.ORDER_ATOMIC);return"mixgo.LED("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").setonoff("+e+")\n"},nd=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.LED("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").getbrightness()",t.ORDER_ATOMIC]},od=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.LED("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").getonoff()",t.ORDER_ATOMIC]},sd=function(_,t){return t.definitions_.import_mixgo="import mixgo","mixgo.LED("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").setbrightness("+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Od=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),T=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",t.definitions_.import_neopixel="import neopixel",e+" = neopixel.NeoPixel(machine.Pin("+i+"), "+T+")\n"},Id=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(("+t.valueToCode(this,"RVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"GVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"BVALUE",t.ORDER_ATOMIC)+"))\n"},ad=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_neopixel="import neopixel",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".write()\n"},pd=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_neopixel="import neopixel",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"["+t.valueToCode(this,"_LED_",t.ORDER_ATOMIC)+"] = ("+t.valueToCode(this,"RVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"GVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"BVALUE",t.ORDER_ATOMIC)+")\n"},Md=function(_,t){return t.definitions_.import_syn6288="import syn6288",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"=syn6288.SYN6288("+this.getFieldValue("key")+")\n"},Ld=function(_,t){return t.definitions_.import_music="import music",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".volume("+t.valueToCode(this,"VOICE",t.ORDER_ASSIGNMENT)+")\n"},Rd=function(_,t){return t.definitions_.import_music="import music",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".volume()",t.ORDER_ATOMIC]},rd=function(_,t){t.definitions_.import_music="import music";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("mode");return e+".hint_tones("+t.valueToCode(this,"VOICE",t.ORDER_ASSIGNMENT)+",blocking="+i+")\n"},Sd=function(_,t){t.definitions_.import_music="import music";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("mode"),T=t.valueToCode(this,"VOICE",t.ORDER_ASSIGNMENT);return e+".synthesis("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",music="+T+",blocking="+i+")\n"},ld=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Ad=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=t.valueToCode(this,"speed",t.ORDER_ATOMIC);if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_motor="from mixbot_ext import ext_motor",E="ext_motor.run("+i+","+T+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_motor="ext_motor_left = i2cdevice.Motor(ext_i2c_left)";var E="ext_motor_left.run(0,"+T+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_motor="ext_motor_right = i2cdevice.Motor(ext_i2c_right)";E="ext_motor_right.run(0,"+T+")\n"}return E}},Pd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return[T="ext_motor.run("+i+")",t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_motor="ext_motor_left = i2cdevice.Motor(ext_i2c_left)";var T="ext_motor_left.run()"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_motor="ext_motor_right = i2cdevice.Motor(ext_i2c_right)";T="ext_motor_right.run()"}return[T,t.ORDER_ATOMIC]}},Nd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("light");if("mixbot"==e){t.definitions_.import_mixbot_ext_ext_traffic="from mixbot_ext import ext_traffic";var E="ext_traffic.led("+(i=this.getFieldValue("mode"))+",";return"0"==(T=this.getFieldValue("light"))||"1"==T||"2"==T?E+="0,":"3"==T||"4"==T?E+="1,":"5"!=T&&"6"!=T||(E+="2,"),"0"==T?E+="0":"1"==T||"3"==T||"5"==T?E+="1":"2"!=T&&"4"!=T&&"6"!=T||(E+="-1"),E+=")\n"}if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_traffic="ext_traffic_left = i2cdevice.Traffic_LED(ext_i2c_left)";E="ext_traffic_left.led(0,"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_traffic="ext_traffic_right = i2cdevice.Traffic_LED(ext_i2c_right)";E="ext_traffic_right.led(0,"}return"0"==T||"1"==T||"2"==T?E+="0,":"3"==T||"4"==T?E+="1,":"5"!=T&&"6"!=T||(E+="2,"),"0"==T?E+="0":"1"==T||"3"==T||"5"==T?E+="1":"2"!=T&&"4"!=T&&"6"!=T||(E+="-1"),E+=")\n"}},dd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("color"),E=t.valueToCode(this,"value",t.ORDER_ATOMIC);if("mixbot"==e)return t.definitions_["import_mixbot_ext_"+T+"_LED"]="from mixbot_ext import "+T+"_LED",n=T+"_LED.brightness("+i+","+E+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_["import_left_"+T+"_LED"]="ext_"+T+"_LED_left = i2cdevice."+T+"_LED(ext_i2c_left)";var n="ext_"+T+"_LED_left.brightness(0,"+E+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_["import_right_"+T+"_LED"]="ext_"+T+"_LED_right = i2cdevice."+T+"_LED(ext_i2c_right)";n="ext_"+T+"_LED_right.brightness(0,"+E+")\n"}return n}},hd=function(_,t){var e=this.getFieldValue("mode"),i=this.getFieldValue("color"),T=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==T)return t.definitions_["import_mixbot_ext_"+i+"_LED"]="from mixbot_ext import "+i+"_LED",[E=i+"_LED.brightness("+e+")",t.ORDER_ATOMIC];if("feiyi"==T){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==e){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_["import_left_"+i+"_LED"]="ext_"+i+"_LED_left = i2cdevice."+i+"_LED(ext_i2c_left)";var E="ext_"+i+"_LED_left.brightness(0)"}else if("1"==e){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_["import_right_"+i+"_LED"]="ext_"+i+"_LED_right = i2cdevice."+i+"_LED(ext_i2c_right)";E="ext_"+i+"_LED_right.brightness(0)"}return[E,t.ORDER_ATOMIC]}},ud=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("status");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",[E="ext_servo.state("+i+")"+T,t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var E="ext_servo_left.state(0)"+T}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";E="ext_servo_right.state(0)"+T}return[E,t.ORDER_ATOMIC]}},md=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("status");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",E="ext_servo.stop_mode("+i+","+T+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var E="ext_servo_left.stop_mode(0,"+T+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";E="ext_servo_right.stop_mode(0,"+T+")\n"}return E}},Cd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",T="ext_servo.stop("+i+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var T="ext_servo_left.stop(0)\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";T="ext_servo_right.stop(0)\n"}return T}},cd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("status"),E=t.valueToCode(this,"speed",t.ORDER_ATOMIC),n=this.getFieldValue("direction"),o=t.valueToCode(this,"angle",t.ORDER_ATOMIC);if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",s="ext_servo.absolute_run("+i+","+T+","+E+","+n+","+o+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var s="ext_servo_left.absolute_run(0,"+T+","+E+","+n+","+o+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";s="ext_servo_right.absolute_run(0,"+T+","+E+","+n+","+o+")\n"}return s}},Hd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",T="ext_servo.relative_origin("+i+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var T="ext_servo_left.relative_origin(0)\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";T="ext_servo_right.relative_origin(0)\n"}return T}},Dd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("status"),E=t.valueToCode(this,"speed",t.ORDER_ATOMIC),n=t.valueToCode(this,"angle",t.ORDER_ATOMIC);if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",o="ext_servo.relative_run("+i+","+T+","+E+","+n+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var o="ext_servo_left.relative_run(0,"+T+","+E+","+n+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";o="ext_servo_right.relative_run(0,"+T+","+E+","+n+")\n"}return o}},Yd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("status"),E=t.valueToCode(this,"speed",t.ORDER_ATOMIC),n=this.getFieldValue("direction");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_servo="from mixbot_ext import ext_servo",o="ext_servo.relative_continue("+i+","+T+","+E+","+n+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_servo="ext_servo_left = i2cdevice.Motor_servo(ext_i2c_left)";var o="ext_servo_left.relative_continue(0,"+T+","+E+","+n+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_servo="ext_servo_right = i2cdevice.Motor_servo(ext_i2c_right)";o="ext_servo_right.relative_continue(0,"+T+","+E+","+n+")\n"}return o}},Ud=function(_,t){var e=this.getFieldValue("name");return t.definitions_["import_mixbot_ext_"+e]="from mixbot_ext import "+e,[e+".addr_get()",t.ORDER_ATOMIC]},Bd=function(_,t){var e=this.getFieldValue("name");return t.definitions_["import_mixbot_ext_"+e]="from mixbot_ext import "+e,e+".addr_set("+t.valueToCode(this,"old",t.ORDER_ATOMIC)+","+t.valueToCode(this,"new",t.ORDER_ATOMIC)+")\n"},gd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music";var i=t.valueToCode(this,"BPM",t.ORDER_ASSIGNMENT);return"onboard_music.set_tempo("+t.valueToCode(this,"TICKS",t.ORDER_ASSIGNMENT)+", "+i+")\n"},Gd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music";return["onboard_music.get_tempo()",t.ORDER_ATOMIC]},Fd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music","onboard_music.pitch("+t.valueToCode(_,"pitch",t.ORDER_ATOMIC)+")\n"},yd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(_,"pitch",t.ORDER_ATOMIC),T=t.valueToCode(_,"time",t.ORDER_ATOMIC);if("mixgo_zero"==e){t.definitions_.import_mixgo_zero_voice_spk_midi="from mixgo_zero_voice import spk_midi";var E="spk_midi.pitch_time("+i+", "+T+")\n"}else if("mixgo_nova"==e){t.definitions_.import_mixgo_nova_voice_spk_midi="from mixgo_nova_voice import spk_midi";E="spk_midi.pitch_time("+i+", "+T+")\n"}else{t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music";E="onboard_music.pitch_time("+i+", "+T+")\n"}return E},fd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music";return"onboard_music.stop()\n"},bd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"LIST",t.ORDER_ASSIGNMENT);if("mixgo_zero"==e){t.definitions_.import_mixgo_zero_voice_spk_midi="from mixgo_zero_voice import spk_midi";var T="spk_midi.play("+i+")\n"}else if("mixgo_nova"==e){t.definitions_.import_mixgo_nova_voice_spk_midi="from mixgo_nova_voice import spk_midi";T="spk_midi.play("+i+")\n"}else{t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music";T="onboard_music.play("+i+")\n"}return T},xd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_music"]="from "+e+" import onboard_music","onboard_music.reset()\n"},vd=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},Xd=function(_,t){return[this.getFieldValue("flag"),t.ORDER_ATOMIC]},Vd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_led"]="from "+e+" import onboard_led","onboard_led.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},kd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_led"]="from "+e+" import onboard_led",["onboard_led.getbrightness("+i+")",t.ORDER_ATOMIC]},wd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_led"]="from "+e+" import onboard_led",["onboard_led.getonoff("+i+")",t.ORDER_ATOMIC]},Wd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_led"]="from "+e+" import onboard_led","onboard_led.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Kd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_led"]="from "+e+" import onboard_led","onboard_led.setcolor("+i+","+this.getFieldValue("colorvalue")+")\n"},zd=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},Zd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("color");return t.definitions_["import_"+e+"_"+i+"led"]="from "+e+" import "+i+"led",i+"led.setonoff("+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Qd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("color");return t.definitions_["import_"+e+"_"+i+"led"]="from "+e+" import "+i+"led",[i+"led.getbrightness()",t.ORDER_ATOMIC]},Jd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("color");return t.definitions_["import_"+e+"_"+i+"led"]="from "+e+" import "+i+"led",[i+"led.getonoff()",t.ORDER_ATOMIC]},qd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("color");return t.definitions_["import_"+e+"_"+i+"led"]="from "+e+" import "+i+"led",i+"led.setbrightness("+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},jd=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_rgb"]="from "+e+" import onboard_rgb";return"onboard_rgb.write()\n"},$d=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_rgb"]="from "+e+" import onboard_rgb","onboard_rgb["+t.valueToCode(this,"_LED_",t.ORDER_ATOMIC)+"] = ("+t.valueToCode(this,"RVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"GVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"BVALUE",t.ORDER_ATOMIC)+")\n"},_h=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_rgb"]="from "+e+" import onboard_rgb","onboard_rgb.fill(("+t.valueToCode(this,"RVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"GVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"BVALUE",t.ORDER_ATOMIC)+"))\n"},th=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_rgb"]="from "+e+" import onboard_rgb","onboard_rgb.color_chase("+t.valueToCode(this,"RVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"GVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"BVALUE",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},eh=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_rgb"]="from "+e+" import onboard_rgb","onboard_rgb.rainbow_cycle("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},ih=function(_,t){var e=this.getFieldValue("wheel");return t.definitions_["import_rm_e1_motor"+e]="from rm_e1 import motor"+e,"motor"+e+'.motion("'+this.getFieldValue("direction")+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},Th=function(_,t){var e=this.getFieldValue("VAR");return t.definitions_.import_mixgocar_c3_car="from mixgocar_c3 import car",'car.motor_move("'+e+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},Eh=function(_,t){var e=this.getFieldValue("VAR");return t.definitions_.import_mixgocar_c3_car="from mixgocar_c3 import car",'car.motor_move("'+e+'")\n'},nh=function(_,t){var e=this.getFieldValue("wheel");return t.definitions_.import_mixgocar_c3_car="from mixgocar_c3 import car","car.motor(car.MOTO_"+e+',"'+this.getFieldValue("direction")+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},oh=function(_,t){var e=this.getFieldValue("wheel");return t.definitions_.import_mixgocar_c3_car="from mixgocar_c3 import car","car.motor(car.MOTO_"+e+',"'+this.getFieldValue("direction")+'")\n'},sh=function(_,t){t.definitions_.import_mixbot_motor="from mixbot import motor";return["motor.status()",t.ORDER_ATOMIC]},Oh=function(_,t){var e=this.getFieldValue("VAR"),i=this.getFieldValue("mode");return t.definitions_.import_mixbot_motor="from mixbot import motor",'motor.move("'+e+'",motor.'+i+"_MODE,"+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},Ih=function(_,t){var e=this.getFieldValue("VAR");if(t.definitions_.import_mixbot_motor="from mixbot import motor","N"==e)var i='motor.move("N",motor.STOP_MODE)\n';else if("P"==e)i='motor.move("P",motor.BRAKE_MODE)\n';return i},ah=function(_,t){var e=this.getFieldValue("wheel");return t.definitions_.import_mixbot_motor="from mixbot import motor","motor.run("+e+",motor."+this.getFieldValue("mode")+"_MODE,"+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},ph=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_spk_en"]="from "+e+" import spk_en","spk_en.value("+this.getFieldValue("on_off")+")\n"},Mh=function(_,t){var e=this.getFieldValue("VAR");return t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",'onboard_bot51.move("'+e+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},Lh=function(_,t){var e=this.getFieldValue("VAR");return t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",'onboard_bot51.move("'+e+'")\n'},Rh=function(_,t){var e=this.getFieldValue("wheel"),i=this.getFieldValue("direction");return t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51","onboard_bot51.motor("+e+',"'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},rh=function(_,t){return"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_ob_code="from mixgo_zero_voice import ob_code":t.definitions_.import_mixgo_nova_voice_ob_code="from mixgo_nova_voice import ob_code","ob_code.mic_volume("+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Sh=function(_,t){"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_ob_code="from mixgo_zero_voice import ob_code":t.definitions_.import_mixgo_nova_voice_ob_code="from mixgo_nova_voice import ob_code";return["ob_code.mic_volume()",t.ORDER_ATOMIC]},lh=function(_,t){p_.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_ob_code="from mixgo_zero_voice import ob_code":t.definitions_.import_mixgo_nova_voice_ob_code="from mixgo_nova_voice import ob_code","ob_code.voice_volume("+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Ah=function(_,t){"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_ob_code="from mixgo_zero_voice import ob_code":t.definitions_.import_mixgo_nova_voice_ob_code="from mixgo_nova_voice import ob_code";return["ob_code.voice_volume()",t.ORDER_ATOMIC]},Ph=function(_,t){return"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_record_audio="from mixgo_zero_voice import record_audio":t.definitions_.import_mixgo_nova_voice_record_audio="from mixgo_nova_voice import record_audio","record_audio("+t.valueToCode(this,"PATH",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"TIME",t.ORDER_ASSIGNMENT)+")\n"},Nh=function(_,t){return"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_play_audio="from mixgo_zero_voice import play_audio":t.definitions_.import_mixgo_nova_voice_play_audio="from mixgo_nova_voice import play_audio","play_audio("+t.valueToCode(this,"PATH",t.ORDER_ASSIGNMENT)+")\n"},dh=function(_,t){return"mixgo_zero"==p_.Boards.getSelectedBoardKey().split(":")[2]?t.definitions_.import_mixgo_zero_voice_play_audio_url="from mixgo_zero_voice import play_audio_url":t.definitions_.import_mixgo_nova_voice_play_audio_url="from mixgo_nova_voice import play_audio_url","play_audio_url("+t.valueToCode(this,"PATH",t.ORDER_ASSIGNMENT)+")\n"},hh=function(_,t){return t.definitions_.import_mixgo_nova_voice_spk_midi="from mixgo_nova_voice import spk_midi","spk_midi.pitch("+t.valueToCode(_,"pitch",t.ORDER_ATOMIC)+")\n"},uh=function(_,t){t.definitions_.import_mixgo_nova_voice_spk_midi="from mixgo_nova_voice import spk_midi";return"spk_midi.stop()\n"},mh=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("index"),T=t.valueToCode(this,"duty",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot","onboard_bot.usben("+i+","+T+")\n"},Ch=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("index");return t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot",["onboard_bot.usben("+i+")",t.ORDER_ATOMIC]},ch=function(_,t){var e=t.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"duty",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot","onboard_bot.usben(freq = "+i+")\n"},Hh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"=mixgo_ai.AI("+this.getFieldValue("key")+",quick=1)\n"},Dh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".find_"+this.getFieldValue("TYPE")+"()",t.ORDER_ATOMIC]},Yh=function(_,t){t.definitions_.import_mixgo_ai="import mixgo_ai";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"RX",t.ORDER_ATOMIC);return e+".configure("+t.valueToCode(this,"TX",t.ORDER_ATOMIC)+","+i+",restart="+this.getFieldValue("mode")+")\n"},Uh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".led_rgb("+t.valueToCode(this,"led1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"led2",t.ORDER_ATOMIC)+")\n"},Bh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},gh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_qrcodes()",t.ORDER_ATOMIC]},Gh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},Fh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_barcodes()",t.ORDER_ATOMIC]},yh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},fh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_apriltags()",t.ORDER_ATOMIC]},bh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},xh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_lines("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR3",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},vh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},Xh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_circles("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR3",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Vh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},kh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_rects("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},wh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+this.getFieldValue("key"),t.ORDER_ATOMIC]},Wh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_colors()",t.ORDER_ATOMIC]},Kh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},zh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".color_track("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR3",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Zh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".ailocal_train("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR3",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR4",t.ORDER_ATOMIC)+")\n"},Qh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".ailocal_class("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR4",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Jh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},qh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".audio_record(path="+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+",times="+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+")\n"},jh=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".audio_play(path="+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+",volume="+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+")\n"},$h=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".yolo_recognize("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR4",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_u=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},tu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr_recognize("+t.valueToCode(this,"VAR1",t.ORDER_ATOMIC)+",threshold="+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},eu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},iu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_licenseplate()",t.ORDER_ATOMIC]},Tu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},Eu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".face_detect()",t.ORDER_ATOMIC]},nu=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("key"),t.ORDER_ATOMIC]},ou=function(_,t){return t.definitions_.import_mixgo_ai="import mixgo_ai",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".find_20object()",t.ORDER_ATOMIC]},su=function(_,t){var e=this.getFieldValue("CTYPE");t.definitions_.import_baidu_speech="import baidu_speech";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC),E="";if("ASR"==e){var n=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+n+"_onboard_sound"]="from "+n+" import onboard_sound",E+="onboard_sound.adc,"}return i+" = baidu_speech."+e+"("+E+T+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},Ou=function(_,t){return t.definitions_.import_baidu_speech="import baidu_speech",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".chatbot("+t.valueToCode(this,"ID",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Iu=function(_,t){var e=this.getFieldValue("LANGUAGE");return t.definitions_.import_baidu_speech="import baidu_speech",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".recognize(record_time="+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+",dev_pid="+e+")",t.ORDER_ATOMIC]},au=function(_,t){var e=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+e]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${e}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},pu=function(_,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},Mu=function(_,t){var e=t.statementToCode(this,"DO");return e=t.addLoopTrap(e,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+e,""},Lu=function(_,t){var e=t.statementToCode(this,"DO");return e=t.addLoopTrap(e,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+e,""},Ru=function(){return"blynk_timer.run()\n"},ru=function(){return"blynk.run()\n"},Su=function(_,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},lu=function(_,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var e=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${e}_blynk_timer${e}')\n`},Au=function(_,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},Pu=function(_,t){t.definitions_.import_blynktimer="import blynktimer";var e=t.valueToCode(this,"Num",t.ORDER_ATOMIC),i=t.valueToCode(this,"period",t.ORDER_ATOMIC),T=this.getFieldValue("Timer_mode"),E=t.statementToCode(this,"DO");return E=t.addLoopTrap(E,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+e]=`\n@blynk_timer.register(interval=${i}, run_once=${T})\ndef blynk_timer${e}():\n`+E,""},Nu=function(_,t){var e=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+e+")\n"},du=function(_,t){var e=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+e]="@blynk.handle_event('write V"+e+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+i,""},hu=function(_,t){var e=t.valueToCode(this,"body",t.ORDER_ATOMIC),i=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${i}, ${e})\n`},uu=function(_,t){var e=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${e})\n`},mu=function(_,t){t.definitions_.import_BlynkLib="import blynklib";var e=t.valueToCode(this,"server",t.ORDER_ATOMIC),i=t.valueToCode(this,"auth",t.ORDER_ATOMIC),T=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+i+", server="+e+", port="+T+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},Cu=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_i2c"]="from "+e+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},cu=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_i2c"]="from "+e+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},Hu=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"RX",t.ORDER_ATOMIC),i=t.valueToCode(this,"TX",t.ORDER_ATOMIC),T=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+i+"), sda = machine.Pin("+e+"), freq = "+T+")\n"},Du=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Yu=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Uu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Bu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},gu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},Gu=function(_,t){var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+e]="Wire.begin("+e+");",t.setups_["setup_i2c_onReceive_"+e]="Wire.onReceive(i2cReceiveEvent_"+e+");";var i="i2cReceiveEvent_"+e,T="void "+i+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[i]=T,""},Fu=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"freq",t.ORDER_ATOMIC),T=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),E=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return e+" = machine.SoftSPI(baudrate="+i+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+T+"), miso=machine.Pin("+E+"))\n"},yu=function(_,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},fu=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},bu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+","+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},vu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+","+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Vu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},ku=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'),"+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},wu=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},Wu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Ku=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},zu=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},Zu=function(_,t){var e=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+e+")\n"},Qu=function(_,t){var e=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+e+".encode('utf-8'))\n"},Ju=function(_,t){t.definitions_.import_irremote="import irremote";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),i=this.getFieldValue("type"),T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==T&&"RC5"==i)var E="ir_rx = irremote.RC5_RX("+e+")\n";else if(""==T)E="ir_rx = irremote.NEC_RX("+e+","+i+")\n";else E="ir_rx = irremote.NEC_RX("+e+","+i+","+T+")\n";return E},qu=function(_,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},ju=function(_,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},$u=function(_,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},_m=function(_,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},tm=function(_,t){t.definitions_.import_irremote="import irremote";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),i=this.getFieldValue("type"),T=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==i)var E="ir_tx = irremote.RC5_TX("+e+","+T+")\n";else E="ir_tx = irremote.NEC_TX("+e+","+i+","+T+")\n";return E},em=function(_,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},im=function(_,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},Tm=function(_,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Em=function(_,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},nm=function(_,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},om=function(_,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+e+")\n"},sm=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Om=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+e+")\n"},Im=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},am=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},pm=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},Mm=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+e+")\n"},Lm=function(_,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},Rm=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},rm=function(_,t){t.definitions_.import_ble_handle="import ble_handle";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return e+"=ble_handle.Handle()\n"+e+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Sm=function(_,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+",txpower="+this.getFieldValue("op")+")\n"},lm=function(_,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+",txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},Am=function(_,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},Pm=function(_,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},Nm=function(_,t){t.definitions_.import_radio="import radio";var e=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+e,t.ORDER_ATOMIC]},dm=function(_,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+","+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},hm=function(_,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},um=function(_,t){return t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},mm=function(_,t){return t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},Cm=function(_,t){t.definitions_.import_radio="import radio";var e=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow(channel=1,txpower="+e+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},cm=function(_,t){return t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},Hm=function(_,t){return t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},Dm=function(_,t){t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},Ym=function(_,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},Um=function(_,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()";var e=t.statementToCode(_,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+e,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try: ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except: pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const Bm=function(_,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()";var e=t.statementToCode(_,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try: ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except: pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var i=_.getFieldValue("msg"),T=function(_){for(var t=function(_,t){for(var e=[],i=0,T=0;T<_.length;T++){var E=_.charCodeAt(T);0<=E&&E<=127?(i+=1,e.push(E)):128<=E&&E<=2047?(i+=2,e.push(192|31&E>>6),e.push(128|63&E)):(2048<=E&&E<=55295||57344<=E&&E<=65535)&&(i+=3,e.push(224|15&E>>12),e.push(128|63&E>>6),e.push(128|63&E))}for(T=0;T<e.length;T++)e[T]&=255;return t?e:i<=255?[0,i].concat(e):[i>>8,255&i].concat(e)}(_,!0),e="",i=0;i<t.length;i++){var T=(255&t[i]).toString(16);1===T.length&&(T="0"+T),e+=T}return e}(i);return t.definitions_["def_radio_recv_"+T]="_radio_msg_list.append('"+i+"')\ndef radio_recv_"+T+"():\n"+e,""},gm=function(_,t){t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()",t.definitions_.ESPNow_radio_handlelist="handle_list=[]";var e=t.statementToCode(_,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+e,t.definitions_.ESPNow_radio_handlelist_append="if not ESPNow_radio_recv in handle_list:\n handle_list.append(ESPNow_radio_recv)",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(handle_list)\n",""},Gm=function(_,t){t.definitions_.import_radio="import radio",t.definitions_.ESPNow_radio_initialize="ESPNow_radio=radio.ESPNow()",t.definitions_.ESPNow_radio_handlelist="handle_list=[]";var e=t.statementToCode(_,"DO")||t.PASS,i=_.getFieldValue("msg");return t.definitions_["def_ESPNow_radio_recv__"+i]="def ESPNow_radio_recv__"+i+"(mac,ESPNow_radio_msg):\n"+e,t.definitions_["ESPNow_radio_handlelist_append__"+i]="if not ESPNow_radio_recv__"+i+" in handle_list:\n handle_list.append(ESPNow_radio_recv__"+i+")",t.definitions_["ESPNow_radio_recv_callback__"+i]="ESPNow_radio.recv_cb(handle_list)\n",""},Fm=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC),E=t.valueToCode(this,"frequency",t.ORDER_ATOMIC),n=t.valueToCode(this,"rate",t.ORDER_ATOMIC),o=t.valueToCode(this,"factor",t.ORDER_ATOMIC),s=t.valueToCode(this,"power",t.ORDER_ATOMIC),O=this.getFieldValue("bandwidth");return t.definitions_.import_rfm98="import rfm98",e+" = rfm98.RFM98("+i+",cs_pin="+T+",frequency_mhz="+E+",signal_bandwidth="+O+",coding_rate="+n+",spreading_factor="+o+",tx_power="+s+")\n"},ym=function(_,t){t.definitions_.import_rfm98="import rfm98";var e=this.getFieldValue("key");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},fm=function(_,t){t.definitions_.import_rfm98="import rfm98";var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+e+")\n"},bm=function(_,t){return t.definitions_.import_rfm98="import rfm98",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},xm=function(_,t){return t.definitions_.import_requests="import urequests",t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE)+"= urequests.get("+t.valueToCode(this,"DOMAIN",t.ORDER_ATOMIC)+")\n"},vm=function(_,t){return t.definitions_.import_requests="import urequests",[(t.valueToCode(this,"VAL",t.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),t.ORDER_ATOMIC]},Xm=function(_,t){return t.definitions_.import_requests="import urequests",["urequests."+this.getFieldValue("DIR")+"("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Vm=function(_,t){var e,i=p_.Boards.getSelectedBoardKey().split(":")[2],T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),E=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),n=this.getFieldValue("key"),o="";return o=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_zero"].indexOf(i)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==n?(t.definitions_.import_matrix32x12="import matrix32x12",e=T+" = matrix32x12.Matrix("+E+",font_address="+o+")\n"):"16x8 Matrix"==n&&(t.definitions_.import_matrix16x8="import matrix16x8",e=T+" = matrix16x8.Matrix("+E+")\n"),e},km=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},wm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Wm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Km=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},zm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Zm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Qm=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},Jm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},qm=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},jm=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},$m=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},_C=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},tC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("image"),t.ORDER_ATOMIC]},eC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+_.getFieldValue("OP")+"("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+","+t.valueToCode(_,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},iC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},TC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+","+t.valueToCode(this,"column",t.ORDER_ATOMIC)+","+e+")\n"},EC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+","+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},nC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},oC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"width",t.ORDER_ATOMIC),n=t.valueToCode(this,"height",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",s=this.getFieldValue("OP");switch(o){case"True":return e+".show_fill_rect("+i+", "+T+", "+E+", "+n+","+s+")\n";case"False":return e+".show_rect("+i+", "+T+", "+E+", "+n+","+s+")\n"}},sC=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"length",t.ORDER_ATOMIC);return e+".show_"+this.getFieldValue("direction")+"("+i+", "+T+", "+E+", 1)\n"},OC=function(_,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},IC=function(_,t){t.definitions_.import_matrix="import matrix";var e=_.getFieldValue("OP");return[t.valueToCode(_,"img",t.ORDER_ATOMIC)+".shift_"+e+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},aC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",e+".show_fill("+this.getFieldValue("key")+")\n"},pC=function(_,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},MC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x",t.ORDER_ATOMIC),T=t.valueToCode(this,"y",t.ORDER_ATOMIC),E=t.valueToCode(this,"r",t.ORDER_ATOMIC),n="TRUE"==this.getFieldValue("fill")?"True":"False",o=this.getFieldValue("OP");switch(n){case"True":return e+".show_fill_circle("+i+", "+T+", "+E+", "+o+")\n";case"False":return e+".show_circle("+i+", "+T+", "+E+", "+o+")\n"}},LC=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"x0",t.ORDER_ATOMIC),T=t.valueToCode(this,"y0",t.ORDER_ATOMIC),E=t.valueToCode(this,"x1",t.ORDER_ATOMIC),n=t.valueToCode(this,"y1",t.ORDER_ATOMIC),o=t.valueToCode(this,"x2",t.ORDER_ATOMIC),s=t.valueToCode(this,"y2",t.ORDER_ATOMIC),O="TRUE"==this.getFieldValue("fill")?"True":"False",I=this.getFieldValue("OP");switch(O){case"True":return e+".show_fill_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n";case"False":return e+".show_triangle("+i+", "+T+", "+E+", "+n+", "+o+", "+s+", "+I+")\n"}},RC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},rC=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},SC=function(_,t){var e,i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),E=this.getFieldValue("key");return"TM1650"==E?(t.definitions_.import_tm1650="import tm1650",e=i+" = tm1650."+E+"("+T+")\n"):"TM1637"==E&&(t.definitions_.import_tm1637="import tm1637",e=i+" = tm1637."+E+"("+T+")\n"),e},lC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},AC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},PC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},NC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},dC=function(_,t){t.definitions_.import_st7789="import st7789";var e=p_.Boards.getSelectedBoardKey().split(":")[2],i="";i=["mpython","mixgo_pe","mixgo_nova"].indexOf(e)>=0?"0x700000":["mixgo_zero"].indexOf(e)>=0?"0xE00000":"0x3A0000";var T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),E=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return T+" = st7789.ST7789("+E+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+",dc_pin="+o+",cs_pin="+n+",rotation="+this.getFieldValue("rotate")+",font_address="+i+")\n"},hC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".image("+i+",x = "+T+",y = "+E+",size = "+n+",color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},uC=function(_,t){var e="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&e)>>8|(64512&e)>>5|(255&e)>>3).toString(16),t.ORDER_ATOMIC]},mC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),O=this.getFieldValue("center");if("0x"==s.slice(0,2))var I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color="+s+")\n";else{const _=s.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I=e+".shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+O+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},CC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o=e+".frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o=e+".frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},cC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O=e+".scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},HC=function(_,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},DC=function(_,t){t.definitions_.import_st7789="import st7789";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"x1",t.ORDER_ATOMIC),T=t.valueToCode(this,"y1",t.ORDER_ATOMIC),E=t.valueToCode(this,"x2",t.ORDER_ATOMIC),n=t.valueToCode(this,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=e+".line("+i+", "+T+", "+E+", "+n+", color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=e+".line("+i+", "+T+", "+E+", "+n+", color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},YC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=this.getFieldValue("key"),E=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",e+" = i2clcd.LCD("+i+",lcd_width="+T+",i2c_addr="+E+")\n"},UC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},BC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",column = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",line = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},gC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},GC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},FC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),E=p_.Boards.getSelectedBoardKey().split(":")[2],n="";return n=["mpython","mixgo_pe","mixgo_nova"].indexOf(E)>=0?"0x700000":["mixgo_zero"].indexOf(E)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",e+" = oled128x64.OLED("+i+",address="+T+",font_address="+n+")\n"},yC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},fC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},bC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},vC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},XC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},VC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},kC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},wC=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},WC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},KC=function(_,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},zC=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+e+".show()\n"},ZC=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=_.getFieldValue("state");return e+"."+_.getFieldValue("shape")+"("+i+", "+T+", "+E+", "+n+", "+o+")\n"+e+".show()\n"},QC=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=_.getFieldValue("state");return e+"."+("0"==_.getFieldValue("dir_h_v")?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\n"+e+".show()\n"},JC=function(_,t){t.definitions_.import_oled128x64="import oled128x64";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".line("+t.valueToCode(_,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y2",t.ORDER_ATOMIC)+", "+_.getFieldValue("state")+")\n"+e+".show()\n"},qC=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},jC=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),E=this.getFieldValue("center");return"mixgo_zero"==e||"mixgo_nova"==e?(t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.shows("+i+",space = "+T+",center = "+E+")\n"):(t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.shows("+i+",space = "+T+",center = "+E+")\n")},$C=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},_c=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},tc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return i},ec=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},ic=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},Tc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix."+_.getFieldValue("image"),t.ORDER_ATOMIC]},Ec=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";if(_.length%2==1&&(_="0"+_),_.length<8){let t=8-_.length;for(let e=1;e<=t;e++)_="0"+_}for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+",0x":t+=_[e-1];return"0x"+t}let T=[];for(let t=0;t<12;t++){let E="",n=0,o=0;for(let i=0;i<32;i++)i<8?o=7-i:i<16?o=23-i:i<24?o=39-i:i<32&&(o=55-i),n+=Number(e[_.getFieldValue(t+"-"+i)])*Math.pow(2,31-o);E+=i(n.toString(16)),T.unshift(E)}let E=[];for(let _=0;_<T.length;_++)E[_]=T[T.length-1-_];return["["+E+"]",t.ORDER_ATOMIC]},nc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.fill(0)\nonboard_oled.show()\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.fill(0)\nonboard_matrix.show()\n"}return i},oc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix.map_"+_.getFieldValue("OP")+"("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+","+t.valueToCode(_,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix",["onboard_matrix.map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Oc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"}return i},Ic=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i="onboard_oled.pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))"}else{t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";i="onboard_matrix.pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+"))"}return[i,t.ORDER_ATOMIC]},ac=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\nonboard_matrix.show()\n"},pc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";return["onboard_matrix.get_brightness()",t.ORDER_ATOMIC]},Mc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Lc=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";_.length%2==1&&(_="0"+_);for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+"\\x":t+=_[e-1];return"\\x"+t}let T=[];for(let t=0;t<5;t++){let E="",n=0;for(let i=0;i<8;i++)n+=Number(e[_.getFieldValue(4-t+"-"+i)])*Math.pow(2,i);E+=i(n.toString(16)),T.unshift(E)}return["bytearray(b'"+T.join("")+"')",t.ORDER_ATOMIC]},Rc=function(_,t){var e="";for(let t=0;t<12;t++){let i=0;for(let e=0;e<8;e++)"#ff0000"===_.getFieldValue(`${e}-${t}`)&&(i+=1<<e);let T=i.toString(16);e+="\\x"+Array(2-T.length).fill(0).join("")+T}return[e=`bytearray(b'${e}')`,t.ORDER_ATOMIC]},rc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.font("+_.getFieldValue("OP")+")\n"},Sc=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";for(_.length%2==1&&(_="0"+_);_.length<4;)_="0"+_;for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+"\\x":t+=_[e-1];return"\\x"+t}let T=[];for(let t=0;t<8;t++){let n="",o=0;for(let i=0;i<16;i++){var E=(i+8)%16;o+=Number(e[_.getFieldValue(7-t+"-"+E)])*Math.pow(2,i)}n+=i(o.toString(16)),T.unshift(n)}return["bytearray(b'"+T.join("")+"')",t.ORDER_ATOMIC]},lc=function(_,t){for(var e=_.getFieldValue("path"),i=["expression_picture","eye_picture","informatio_picture","object_picture","progres_picture"],T=[["Angry","Bored","Confused","Happy","Heart","Paper","Rock","Sad","Scissors","Silly","Sleep","Small_heart","Small_paper","Small_rock","Small_scissors","Smile","Surprise","Wonderful"],["Eyes_Angry","Awake","Black_eye","Bottom_left","Bottom_right","Crazy_1","Crazy_2","Disappointed","Dizzy","Down","Hurt","Evil","Knocked_out","Love","Middle_left","Middle_right","Neutral","Nuclear","Pinch_left","Pinch_middle","Pinch_right","Tear","Tired_middle","Tired_left","Tired_right","Toxic","Up","Winking"],["Accept","Backward","Decline","Forward","Left","No_go","Question_mark","Right","Stop_1","Stop_2","Thumbs_down","Thumbs_up","Warning"],["Bomb","Boom","Fire","Flowers","Forest","Lightning","Light_off","Light_on","Night","Pirate","Snow","Target"],["Bar_0","Bar_1","Bar_2","Bar_3","Bar_4","Dial_0","Dial_1","Dial_2","Dial_3","Dial_4","Dots_0","Dots_1","Dots_2","Dots_3","Hourglass_0","Hourglass_1","Hourglass_2","Timer_0","Timer_1","Timer_2","Timer_3","Timer_4","Water_level_0","Water_level_1","Water_level_2","Water_level_3"]],E=0;E<5;E++)if(-1!=T[E].indexOf(e)){var n=E;break}return t.definitions_["import_"+i[n]+"_"+e]="from "+i[n]+" import "+e,[e,t.ORDER_ATOMIC]},Ac=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Pc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Nc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",x = "+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},hc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",delay = "+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},uc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",y = "+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",size = "+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+",speed ="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+",space = "+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},mc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\nonboard_oled.show()\n"},Cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=_.getFieldValue("state");return"onboard_oled."+_.getFieldValue("shape")+"("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_oled.show()\n"},cc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=_.getFieldValue("state");return"onboard_oled."+("0"==_.getFieldValue("dir_h_v")?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\nonboard_oled.show()\n"},Hc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_oled","onboard_oled.line("+t.valueToCode(_,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(_,"y2",t.ORDER_ATOMIC)+", "+_.getFieldValue("state")+")\nonboard_oled.show()\n"},Dc=function(_,t){var e={"#000000":"0","#ff0000":"1"};function i(_){let t="";_.length%2==1&&(_="0"+_);for(let e=1;e<=_.length;e++)e%2==0&&e!==_.length?t=t+_[e-1]+"\\x":t+=_[e-1];return"\\x"+t}let T=[];for(let t=0;t<5;t++){let E="",n=0;for(let i=0;i<5;i++)n+=Number(e[_.getFieldValue(4-t+"-"+i)])*Math.pow(2,i);E+=i(n.toString(16)),T.unshift(E)}return["b'"+T.join("")+"'",t.ORDER_ATOMIC]},Yc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";return["onboard_matrix.screenbright()",t.ORDER_ATOMIC]},Uc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix";return["onboard_matrix.ambientbright()",t.ORDER_ATOMIC]},Bc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.screenbright("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},gc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_matrix"]="from "+e+" import onboard_matrix","onboard_matrix.direction("+_.getFieldValue("OP")+")\n"},Gc=function(_,t){var e={"#000000":"0","#ff0000":"1"};let i=[];for(let t=0;t<12;t++){let E="",n=0;for(let i=0;i<12;i++)n+=Number(e[_.getFieldValue(11-t+"-"+i)])*Math.pow(2,i);E+=1==(T=n.toString(16)).length?"\\x0"+T+"\\x00":2==T.length?"\\x"+T+"\\x00":3==T.length?"\\x"+T[1]+T[2]+"\\x0"+T[0]:void 0,i.unshift(E)}var T;return["b'"+i.join("")+"'",t.ORDER_ATOMIC]},Fc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"},yc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s="onboard_tft.image("+i+",x = "+T+",y = "+E+",size = "+n+",color="+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.image("+i+",x = "+T+",y = "+E+",size = "+n+",color=0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},fc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=this.getFieldValue("center"),O=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==O.slice(0,2))var I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color="+O+")\n";else{const _=O.match(/\d+/g);var a="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");I="onboard_tft.shows("+i+",x = "+T+",y = "+E+",size = "+n+",space = "+o+",center = "+s+",color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return I},bc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},xc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==n.slice(0,2))var o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color="+n+")\n";else{const _=n.match(/\d+/g);var s="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");o="onboard_tft.frame("+i+",size = "+T+",delay = "+E+",color=0x"+((16252928&s)>>8|(64512&s)>>5|(255&s)>>3).toString(16)+")\n"}return o},vc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_oled"]="from "+e+" import onboard_tft","onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+",color=0xffff)\n"},Xc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color="+s+")\n";else{const _=s.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft.scroll("+i+",y = "+T+",size = "+E+",speed ="+n+",space = "+o+",color=0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\n"}return O},Vc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"w",t.ORDER_ATOMIC),n=t.valueToCode(_,"h",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),s=_.getFieldValue("shape");if("0x"==o.slice(0,2))var O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var I="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");O="onboard_tft."+s+"("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&I)>>8|(64512&I)>>5|(255&I)>>3).toString(16)+")\nonboard_tft.show()\n"}return O},kc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"length",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("dir_h_v");if("0x"==n.slice(0,2))var s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", "+n+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft."+("0"==o?"v":"h")+"line("+i+", "+T+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},wc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x1",t.ORDER_ATOMIC),T=t.valueToCode(_,"y1",t.ORDER_ATOMIC),E=t.valueToCode(_,"x2",t.ORDER_ATOMIC),n=t.valueToCode(_,"y2",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", "+o+")\nonboard_tft.show()\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.line("+i+", "+T+", "+E+", "+n+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\nonboard_tft.show()\n"}return s},Wc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return"onboard_tft.fill(0)\nonboard_tft.show()\n"},Kc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},zc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft",["hex(onboard_tft.pixel(int("+t.valueToCode(_,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(_,"y",t.ORDER_ATOMIC)+")))",t.ORDER_ATOMIC]},Zc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==E.slice(0,2))var n="onboard_tft.pixel(int("+i+"), int("+T+"), "+E+")\nonboard_tft.show()\n";else{const _=E.match(/\d+/g);var o="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");n="onboard_tft.pixel(int("+i+"), int("+T+"), 0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\nonboard_tft.show()\n"}return n},Qc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";return["onboard_tft.get_brightness()",t.ORDER_ATOMIC]},Jc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft","onboard_tft.set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},qc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT);if("0x"==i.slice(0,2))var T="onboard_tft.fill("+i+")\nonboard_tft.show()\n";else{const _=i.match(/\d+/g);var E="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");T="onboard_tft.fill(0x"+((16252928&E)>>8|(64512&E)>>5|(255&E)>>3).toString(16)+")\nonboard_tft.show()\n"}return T},jc=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var s=n+"=Clock("+i+","+T+","+E+","+o+")\n";else{const _=o.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s=n+"=Clock("+i+","+T+","+E+",0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+")\n"}return s},$c=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},_H=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},tH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},eH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_Clock"]="from "+e+" import Clock";var i=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==T.slice(0,2))var E=i+".clear("+T+")\n";else{const _=T.match(/\d+/g);var n="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");E=i+".clear(0x"+((16252928&n)>>8|(64512&n)>>5|(255&n)>>3).toString(16)+")\n"}return E},iH=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_tft"]="from "+e+" import onboard_tft";var i=t.valueToCode(_,"x",t.ORDER_ATOMIC),T=t.valueToCode(_,"y",t.ORDER_ATOMIC),E=t.valueToCode(_,"r",t.ORDER_ATOMIC),n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=_.getFieldValue("shape");if("0x"==n.slice(0,2))var s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", "+n+","+o+")\nonboard_tft.show()\n";else{const _=n.match(/\d+/g);var O="0x"+((parseInt(_[0])<<16)+(parseInt(_[1])<<8)+parseInt(_[2])).toString(16).padStart(4,"0");s="onboard_tft.ellipse("+i+", "+T+", "+E+", "+E+", 0x"+((16252928&O)>>8|(64512&O)>>5|(255&O)>>3).toString(16)+","+o+")\nonboard_tft.show()\n"}return s},TH=function(_,t){var e=this.getFieldValue("path"),i=this.getFieldValue("module");return t.definitions_["import_"+e+"_"+i]="from "+e+" import "+i,""},EH=function(_,t){var e=this.getFieldValue("module");return t.definitions_["import_"+e]="import "+e,""},nH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"";return e+"("+i.join(", ")+")\n"},oH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"";return[e+"("+i.join(", ")+")",t.ORDER_ATOMIC]},sH=function(){var _=this.getFieldValue("TYPE");return this.getFieldValue("NAME")+" = "+_+"()\n"},OH=function(_,t){for(var e=this.getFieldValue("NAME"),i=this.getFieldValue("METHOD"),T=new Array(this.itemCount_),E=0;E<this.itemCount_;E++)T[E]=t.valueToCode(this,"ADD"+E,t.ORDER_NONE)||"";return e+"."+i+"("+T.join(", ")+")\n"},IH=function(_,t){for(var e=this.getFieldValue("NAME"),i=this.getFieldValue("METHOD"),T=new Array(this.itemCount_),E=0;E<this.itemCount_;E++)T[E]=t.valueToCode(this,"ADD"+E,t.ORDER_NONE)||"";return[e+"."+i+"("+T.join(", ")+")",t.ORDER_ATOMIC]},aH=function(){return this.getFieldValue("VALUE")+"\n"},pH=function(_,t){return[this.getFieldValue("VALUE"),t.ORDER_ATOMIC]},MH=function(){return this.getFieldValue("VALUE")+"\n"},LH=function(_,t){return[this.getFieldValue("VALUE"),t.ORDER_ATOMIC]},RH=function(_,t){var e=this.getFieldValue("peien");e="#"+e;var i=t.statementToCode(this,"DO");return e+"\n"+(i=(i=i.replace(/(^\s*)|(\s*$)/g,"")).replace(/(\n\s\s\s\s)/g,"\n"))+"\n"},rH=function(_,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},SH=function(_,t){t.definitions_.import_machine="import machine";var e="";return e+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},lH=function(_,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},AH=function(_,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".duty_u16("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},PH=function(_,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},NH=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),i=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return e+".set_analog_"+this.getFieldValue("key")+"("+i+")\n"},dH=function(_,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".freq("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},hH=function(_,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".read_u16()",t.ORDER_ATOMIC]},uH=function(_,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},mH=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),i=this.getFieldValue("mode");return"machine.Pin("+e+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+i+")\n"},CH=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("PIN_OBJ")||"pin#",i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),T=this.getFieldValue("MODE");return("pin#"==e?"pin"+i:t.variableDB_.getName(e,a_.Variables.NAME_TYPE))+" = machine.Pin("+i+", "+T+")\n"},cH=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("PIN_OBJ")||"pwm#",i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("pwm#"==e?"pwm"+i:t.variableDB_.getName(e,a_.Variables.NAME_TYPE))+" = machine.PWM(machine.Pin("+i+"))\n"},HH=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("PIN_OBJ")||"dac#",i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==e?"dac"+i:t.variableDB_.getName(e,a_.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+i+"))\n"},DH=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("PIN_OBJ")||"adc#",i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("adc#"==e?"adc"+i:t.variableDB_.getName(e,a_.Variables.NAME_TYPE))+" = machine.ADC(machine.Pin("+i+"))\n"},YH=function(_,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},UH=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("PIN_OBJ")||"tc#",i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==e?"tc"+i:t.variableDB_.getName(e,a_.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+i+"))\n"},BH=function(_,t){return t.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+t.valueToCode(this,"WIFINAME",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PASSWORD",t.ORDER_ATOMIC)+")\n"},gH=function(_,t){return t.definitions_.import_onenet="import onenet",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+t.valueToCode(this,"CLIENT",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SERVER",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"USERNAME",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"PASSWORD",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"TOPIC",t.ORDER_ATOMIC)+", "+(t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)||"None")+")\n"},GH=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return t.definitions_.import_onenet="import onenet",e+".do_disconnect()\n"},FH=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=t.valueToCode(this,"DICT",t.ORDER_ATOMIC),T="TRUE"==this.getFieldValue("is_print")?"True":"False";return t.definitions_.import_onenet="import onenet",e+".publish("+i+", is_print = "+T+")\n"},yH=function(_,t){var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return t.definitions_.import_onenet="import onenet",e+".check_msg()\n"},fH=function(_,t){t.definitions_.import_onenet="import onenet";var e=new Array(this.itemCount_),i=new Array(this.itemCount_),T=new Array(this.itemCount_),E=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);for(let _=0;_<this.itemCount_;_++){var n=this.getFieldValue("KEY"+_);e[_]=n}for(let _=0;_<this.itemCount_;_++)i[_]=t.valueToCode(this,"ADD"+_,t.ORDER_NONE)||"0";var o=E+".publish({";for(let _=0;_<this.itemCount_;_++)T[_]=e[_]+": "+i[_];return o=o+T.join(", ")+"})\n"},bH=function(_,t){t.definitions_.import_mixiot="import mixiot",t.definitions_.import_machine="import machine",t.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify";var e=t.valueToCode(this,"SERVER",t.ORDER_ATOMIC),i=t.valueToCode(this,"USERNAME",t.ORDER_ATOMIC),T=t.valueToCode(this,"PASSWORD",t.ORDER_ATOMIC),E=t.valueToCode(this,"PROJECT",t.ORDER_ATOMIC);return"MQTT_USR_PRJ = "+("'"+i.replace("'","").replace("'","")+"/"+E.replace("'","").replace("'","")+"/'")+"\nmqtt_client = mixiot.init_MQTT_client("+e+", "+i+", "+T+", MQTT_USR_PRJ)\n"},xH=function(_,t){var e=t.valueToCode(this,"TOPIC",t.ORDER_ATOMIC),i=t.valueToCode(this,"MSG",t.ORDER_ATOMIC);return t.definitions_.import_mixiot="import mixiot","mqtt_client.publish(MQTT_USR_PRJ + "+e+", "+i+")\n"},vH=function(_,t){var e=t.valueToCode(this,"TOPIC",t.ORDER_ATOMIC),i=t.valueToCode(this,"METHOD",t.ORDER_ATOMIC);t.definitions_.import_mixiot="import mixiot";var T="mqtt_client.set_callback("+e+","+i+", MQTT_USR_PRJ)\n";return T+="mqtt_client.subscribe(MQTT_USR_PRJ + "+e+")\n"},XH=function(_,t){t.definitions_.import_mixiot="import mixiot";return"mqtt_client.disconnect(MQTT_USR_PRJ)\n"},VH=function(_,t){t.definitions_.import_mixiot="import mixiot";return"mqtt_client.connect()\n"},kH=function(_,t){t.definitions_.import_mixiot="import mixiot";return"mqtt_client.check_msg()\n"},wH=function(_,t){return['mqtt_client.decode("utf-8").split("/")[-1]',t.ORDER_ATOMIC]},WH=function(_,t){return['mqtt_client.decode("utf-8")',t.ORDER_ATOMIC]},KH=function(_,t){return t.definitions_.import_mixpy="import mixpy",["mixpy.format_content("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+", mqtt_client.client_id)",t.ORDER_ATOMIC]},zH=function(_,t){return t.definitions_.import_mixpy="import mixpy",["mixpy.format_str("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZH=function(_,t){var e=t.valueToCode(this,"SERVER",t.ORDER_ATOMIC),i=t.valueToCode(this,"KEY",t.ORDER_ATOMIC);return t.definitions_.import_mixiot="import mixiot",t.definitions_.import_machine="import machine",t.definitions_.import_urequests="import urequests",t.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify",t.definitions_.import_mixpy_analyse_sharekey="from mixpy import analyse_sharekey","sk = analyse_sharekey('http://"+e.substring(1,e.length-1)+"/mixio-php/sharekey.php?sk="+i+"')\nMQTT_USR_PRJ = sk[0]+'/'+sk[1]+'/'\nmqtt_client = mixiot.init_MQTT_client("+e+", sk[0], sk[2], MQTT_USR_PRJ)\n"},QH=function(_,t){return[this.getFieldValue("VISITOR_ID"),t.ORDER_ATOMIC]},JH=function(_,t){t.definitions_.import_mixiot="import mixiot",t.definitions_.import_machine="import machine",t.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify";var e=t.valueToCode(this,"SERVER",t.ORDER_ATOMIC);return"MQTT_USR_PRJ = "+('"MixIO/'+t.valueToCode(this,"KEY",t.ORDER_ATOMIC)+'/default/"')+"\nmqtt_client = mixiot.init_MQTT_client("+e+', "MixIO_public", "MixIO_public", MQTT_USR_PRJ)\n'},qH=function(_,t){t.definitions_.import_mixiot="import mixiot";return["mqtt_client.pingSync()",t.ORDER_ATOMIC]},jH=function(_,t){return t.definitions_.import_mixiot="import mixiot",["mixiot.ntp("+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},$H=function(_,t){return["mqtt_client",t.ORDER_ATOMIC]},_D=function(_,t){return t.definitions_.import_debugnet="import debugnet",'HTTP_client = debugnet.request("GET",'+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+",debug="+this.getFieldValue("key")+")\n"},tD=function(_,t){return t.definitions_.import_debugnet="import debugnet",["HTTP_client."+this.getFieldValue("key"),t.ORDER_ATOMIC]},eD=function(_,t){t.definitions_.import_debugnet="import debugnet";var e="mqtt_client = debugnet.init_MQTT_client("+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+', "MixIO_public", "MixIO_public", "MixIO/3QBAGKRL/default/",debug='+this.getFieldValue("key2")+")\n";return e+='mqtt_client.subscribe("$SYS/hello")\n'},iD=function(_,t){return t.definitions_.import_mixiot="import mixiot",["mqtt_client."+this.getFieldValue("key"),t.ORDER_ATOMIC]},TD=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},ED=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+t.valueToCode(this,"id",t.ORDER_ATOMIC)+","+t.valueToCode(this,"password",t.ORDER_ATOMIC)+")\n"},nD=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".isconnected()\n"},oD=function(_,t){return t.definitions_.import_network="import network",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",t.ORDER_ATOMIC]},sD=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},OD=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},ID=function(_,t){return t.definitions_.import_network="import network",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".active()",t.ORDER_ATOMIC]},aD=function(_,t){return t.definitions_.import_network="import network",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",t.ORDER_ATOMIC]},pD=function(_,t){return t.definitions_.import_network="import network",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".config(essid = "+t.valueToCode(this,"essid",t.ORDER_ATOMIC)+", channel = "+t.valueToCode(this,"channel",t.ORDER_ATOMIC)+")\n"},MD=function(_,t){return t.definitions_.import_network="import network",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},LD=function(_,t){t.definitions_["import_server_*"]="from server import *";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return"if not "+e+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+e+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},RD=function(_,t){t.definitions_.import_network="import network",t.definitions_.import_socket="import socket";var e=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=this.getFieldValue("mode");return"UDP"==i?i="socket.SOCK_DGRAM":"TCP"==i&&(i="socket.SOCK_STREAM"),e+" = socket.socket(socket.AF_INET,"+i+")\n"},rD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".bind("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+")\n"},SD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+t.valueToCode(this,"address",t.ORDER_ATOMIC)+"[0][-1])\n"},lD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".listen("+t.valueToCode(this,"queue",t.ORDER_ATOMIC)+")\n"},AD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".accept()",t.ORDER_ASSIGNMENT]},PD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"size",t.ORDER_ATOMIC)+")",t.ORDER_ASSIGNMENT]},ND=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},dD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recvfrom("+t.valueToCode(this,"size",t.ORDER_ATOMIC)+")",t.ORDER_ASSIGNMENT]},hD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".sendto("+t.valueToCode(this,"content",t.ORDER_ATOMIC)+","+t.valueToCode(this,"address",t.ORDER_ATOMIC)+")\n"},uD=function(_,t){return t.definitions_.import_network="import network",t.definitions_.import_socket="import socket",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".close()\n"},mD=function(_,t){return t.definitions_.import_requests="import requests",t.variableDB_.getName(this.getFieldValue("VAR"),a_.Variables.NAME_TYPE)+"= requests.get("+t.valueToCode(this,"DOMAIN",t.ORDER_ATOMIC)+")\n"},CD=function(_,t){return t.definitions_.import_requests="import requests",[(t.valueToCode(this,"VAL",t.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),t.ORDER_ATOMIC]},cD=function(_,t){return t.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")\n"},HD=function(_,t){return t.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},DD=function(_,t){return["'"+this.getFieldValue("op")+"'",t.ORDER_ATOMIC]},YD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = pe_g1.PE_G1("+t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC)+")\n"},UD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".read_bat()",t.ORDER_ATOMIC]},BD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".motor("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+',"'+this.getFieldValue("direction")+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},gD=function(_,t){t.definitions_.import_pe_g1="import pe_g1";return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".motor("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+',"NC")\n',t.ORDER_ATOMIC]},GD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".servo180("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},FD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".servo360("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},yD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".servo180("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fD=function(_,t){return t.definitions_.import_pe_g1="import pe_g1",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".servo360("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.Button("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").is_pressed("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.Button("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").was_pressed("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},vD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.Button("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+").get_presses("+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},XD=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_mixgo="import mixgo";var e=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),i=this.getFieldValue("mode");return"mixgo.Button("+e+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+i+")\n"},VD=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=this.getFieldValue("gesture"),i=t.statementToCode(this,"DO")||t.PASS,T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==T&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),"if "+T+'.mpu9250_is_gesture("'+e+'"):\n'+i},kD=function(_,t){return t.definitions_.import_mixgo="import mixgo",t.setups_.class_hrsc04='class HCSR04:\n def __init__(self, tpin=pin15, epin=pin14, spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\nsonar=HCSR04()\n',["sonar.distance_mm()/10.0",t.ORDER_ATOMIC]},wD=function(_,t){t.definitions_.import_mixgo="import mixgo";var e=t.valueToCode(this,"hour",t.ORDER_ASSIGNMENT),i=t.valueToCode(this,"minute",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"second",t.ORDER_ASSIGNMENT);return t.setups_.class_DS1307=t.CLASS_DS1307_INIT,"str(ds.Hour("+e+"))+ str(ds.Minute("+i+")) +str(ds.Second("+T+"))\n"},WD=function(_,t){t.definitions_.import_mixgo="import mixgo";var e=t.valueToCode(this,"year",t.ORDER_ASSIGNMENT),i=t.valueToCode(this,"month",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"day",t.ORDER_ASSIGNMENT);return t.setups_.class_DS1307=t.CLASS_DS1307_INIT,"str(ds.Year("+e+"))+ str(ds.Month("+i+")) +str(ds.Day("+T+"))\n"},KD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZD=function(_,t){return t.definitions_.import_mixgo="import mixgo",["mixgo.infrared_"+this.getFieldValue("direction")+".near()",t.ORDER_ATOMIC]},QD=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.RTC()\n"},JD=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_machine="import machine",t.definitions_.import_bmp280="import bmp280",[e+"."+i,t.ORDER_ATOMIC]},qD=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_machine="import machine",t.definitions_.import_sht20="import sht20",[e+"."+i,t.ORDER_ATOMIC]},jD=function(_,t){var e,i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),E=this.getFieldValue("key");return"MPU9250"==E?(t.definitions_.import_mpu9250="import mpu9250",e=i+" = mpu9250."+E+"("+T+")\n"):"BMP280"==E?(t.definitions_.import_bmp280="import bmp280",e=i+" = bmp280."+E+"("+T+")\n"):"SHT20"==E?(t.definitions_.import_sht20="import sht20",e=i+" = sht20."+E+"("+T+")\n"):"ADXL345"==E?(t.definitions_.import_adxl345="import adxl345",e=i+" = adxl345."+E+"("+T+")\n"):"LTR308"==E?(t.definitions_.import_ltr308al="import ltr308al",e=i+" = ltr308al.LTR_308ALS("+T+")\n"):"LTR381RGB"==E?(t.definitions_.import_ltr381rgb="import ltr381rgb",e=i+" = ltr381rgb.LTR_381RGB("+T+")\n"):"HP203X"==E?(t.definitions_.import_hp203x="import hp203x",e=i+" = hp203x.HP203X("+T+")\n"):"SHTC3"==E?(t.definitions_.import_shtc3="import shtc3",e=i+" = shtc3."+E+"("+T+")\n"):"AHT21"==E?(t.definitions_.import_ahtx0="import ahtx0",e=i+" = ahtx0.AHTx0("+T+")\n"):"VL53L0X"==E?(t.definitions_.import_vl53l0x="import vl53l0x",e=i+" = vl53l0x."+E+"("+T+")\n"):"QMC5883L"==E?(t.definitions_.import_qmc5883l="import qmc5883l",e=i+" = qmc5883l.Compass("+T+")\n"):"MAX30102"==E?(t.definitions_.import_max30102="import max30102",e=i+" = max30102.MAX30102("+T+")\n"):"APDS9960"==E?(t.definitions_.import_apds9960="import apds9960",e=i+" = apds9960.APDS9960("+T+")\n"):"RFID"==E&&(t.definitions_.import_rc522="import rc522",e=i+" = rc522.RC522("+T+")\n"),e},$D=function(_,t){t.definitions_.import_max30102="import max30102";var e=this.getFieldValue("key");return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".heartrate()"+e,t.ORDER_ATOMIC]},_Y=function(_,t){t.definitions_.import_apds9960="import apds9960";var e=this.getFieldValue("key");return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},tY=function(_,t){return t.definitions_.import_ltr308al="import ltr308al",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".getdata()",t.ORDER_ATOMIC]},eY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_hp203x="import hp203x",[e+"."+i,t.ORDER_ATOMIC]},iY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_ltr381rgb="import ltr381rgb",[e+".getdata()"+i,t.ORDER_ATOMIC]},TY=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_time="import time",t.definitions_.import_ltr390uv="import ltr390uv";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if("E"==this.getFieldValue("key"))var i=e+".ambient_light()";else i=e+".ultraviolet()";return[i,t.ORDER_ATOMIC]},EY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_qmc5883l="import qmc5883l",[e+"."+i,t.ORDER_ATOMIC]},nY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_shtc3="import shtc3",[e+"."+i+"()",t.ORDER_ATOMIC]},oY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_ahtx0="import ahtx0",[e+"."+i+"()",t.ORDER_ATOMIC]},sY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_vl53l0x="import vl53l0x",[e+".read()",t.ORDER_ATOMIC]},OY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),T=t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC),E=this.getFieldValue("key");if("RFID"==E){t.definitions_.import_rc522="import rc522";var n=e+" = rc522.RC522("+i+","+T+")\n"}else if("Weather"==E){var o=p_.Boards.getSelectedBoardKey().split(":")[2];if(t.definitions_["import_"+o]="import "+o,t.definitions_.import_ws_lora="import ws_lora","mixgo_pe"==o)n=e+" = ws_lora.Weather("+i+","+T+")\n";else if("mixgo_nova"==o)n=e+" = ws_lora.Weather("+i+","+T+","+o+".onboard_i2c_soft)\n";else n=e+" = ws_lora.Weather("+i+","+T+","+o+".onboard_i2c)\n"}return n},IY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),T=this.getFieldValue("key");return t.definitions_.import_rc522="import rc522",[e+".read_card("+i+',"'+T+'")',t.ORDER_ATOMIC]},aY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_rc522="import rc522",[e+'.read_card(0, x="id")',t.ORDER_ATOMIC]},pY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);return t.definitions_.import_rc522="import rc522",[e+".read_card("+i+")",t.ORDER_ATOMIC]},MY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),T=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);return t.definitions_.import_rc522="import rc522",e+".write_card("+T+","+i+")\n"},LY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),T=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);return t.definitions_.import_rc522="import rc522",[e+".write_card("+T+","+i+")",t.ORDER_ATOMIC]},RY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_rc522="import rc522",[e+".scan_card()=="+i,t.ORDER_ATOMIC]},rY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_ws_lora="import ws_lora",[e+"."+i,t.ORDER_ATOMIC]},SY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ws_lora="import ws_lora",[e+".any()",t.ORDER_ATOMIC]},lY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"BASE",t.ORDER_ATOMIC);return t.definitions_.import_ws_lora="import ws_lora",e+".uart_mixio(topic="+i+")\n"},AY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);t.definitions_.import_ws_lora="import ws_lora";for(var i=new Array(this.itemCount_),T=0;T<this.itemCount_;T++)i[T]=t.valueToCode(this,"ADD"+T,t.ORDER_NONE)||"0";return i=e+".label("+i.join(", ")+")\n"},PY=function(_,t){var e=this.getFieldValue("key"),i=this.getFieldValue("stat");return t.definitions_.import_tpwheel="import tpwheel",["tpwheel.TouchPadWheels("+e+")."+i,t.ORDER_ATOMIC]},NY=function(_,t){t.definitions_.import_tpwheel="import tpwheel";return["tpwheel.hot_wheels_degree()",t.ORDER_ATOMIC]},dY=function(_,t){t.definitions_.import_weather="import weather",t.definitions_["import_board_*"]="from board import *";var e="wd = weather.Weather_wd("+t.valueToCode(this,"wd",t.ORDER_ATOMIC)+")\n";return e+="ws = weather.Weather_ws("+t.valueToCode(this,"ws",t.ORDER_ATOMIC)+")\n",e+="rain = weather.Weather_rain("+t.valueToCode(this,"rain",t.ORDER_ATOMIC)+")\n"},hY=function(_,t){t.definitions_.import_weather="import weather";return["wd.wind_direction()",t.ORDER_ATOMIC]},uY=function(_,t){return t.definitions_.import_weather="import weather",["rain.rain_count(time_Hour="+t.valueToCode(this,"rain",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},mY=function(_,t){t.definitions_.import_weather="import weather";var e=this.getFieldValue("key");if("ALL"==e)var i="ws.wind_speed()";else i="ws.wind_speed()["+e+"]";return[i,t.ORDER_ATOMIC]},CY=function(_,t){return t.definitions_.import_sonar="import sonar",["sonar.Sonar("+t.valueToCode(this,"PIN1",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"PIN2",t.ORDER_ASSIGNMENT)+").checkdist()",t.ORDER_ATOMIC]},cY=function(_,t){return t.definitions_.import_ps2="import ps2","mixgope_ps = ps2.PS2Controller("+this.getFieldValue("PS2_CLK")+","+this.getFieldValue("PS2_DOU")+","+this.getFieldValue("PS2_DIN")+","+this.getFieldValue("PS2_CS")+")\n"},HY=function(_,t){return t.definitions_.import_ps2="import ps2","mixgope_ps.PS2_vibration("+this.getFieldValue("smotorstate")+","+t.valueToCode(this,"AMP",t.ORDER_ATOMIC)+")\n"},DY=function(_,t){return t.definitions_.import_ps2="import ps2",["mixgope_ps.PS2_keydata()[0] & (ps2."+this.getFieldValue("psbt")+")",t.ORDER_ATOMIC]},YY=function(_,t){return t.definitions_.import_ps2="import ps2",["ps2."+this.getFieldValue("psbt"),t.ORDER_ATOMIC]},UY=function(_,t){return t.definitions_.import_ps2="import ps2",["mixgope_ps.PS2_keydata()["+this.getFieldValue("btstate")+"]",t.ORDER_ATOMIC]},BY=function(_,t){return t.definitions_.import_ps2="import ps2",["mixgope_ps.PS2_keydata()[1]["+this.getFieldValue("psstk")+"]",t.ORDER_ATOMIC]},gY=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"year",t.ORDER_ASSIGNMENT),i=t.valueToCode(this,"month",t.ORDER_ASSIGNMENT),T=t.valueToCode(this,"day",t.ORDER_ASSIGNMENT),E=t.valueToCode(this,"hour",t.ORDER_ASSIGNMENT),n=t.valueToCode(this,"minute",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"second",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"weekday",t.ORDER_ASSIGNMENT),O=t.valueToCode(this,"millisecond",t.ORDER_ASSIGNMENT),I=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"rtc"==I&&(t.definitions_.import_mixgo_rtc="from mixgo import rtc"),I+".datetime(("+e+","+i+","+T+","+s+","+E+","+n+","+o+","+O+"))\n"},GY=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"rtc"==e&&(t.definitions_.import_mixgo_rtc="from mixgo import rtc"),[e+".datetime()",t.ORDER_ATOMIC]},FY=function(_,t){return t.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",t.ORDER_ATOMIC]},yY=function(_,t){t.definitions_.import_ps2="import ps2";var e=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),i=t.valueToCode(this,"DOU",t.ORDER_ATOMIC),T=t.valueToCode(this,"DIN",t.ORDER_ATOMIC),E=t.valueToCode(this,"CS",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ps2.PS2Controller("+e+","+i+","+T+","+E+")\n"},fY=function(_,t){return t.definitions_.import_ps2="import ps2",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".vibration("+this.getFieldValue("smotorstate")+","+t.valueToCode(this,"AMP",t.ORDER_ATOMIC)+")\n"},bY=function(_,t){return t.definitions_.import_ps2="import ps2",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".button(ps2."+this.getFieldValue("psbt")+")",t.ORDER_ATOMIC]},xY=function(_,t){return t.definitions_.import_ps2="import ps2",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".analog(ps2.PSS_"+this.getFieldValue("psstk")+")",t.ORDER_ATOMIC]},vY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key"),T=this.getFieldValue("sensor"),E="";return"PM"==T?(t.definitions_.import_pm2_5="import pm2_5",E=e+"=pm2_5.PM2_5("+i+")\n"):"GNSS"==T&&(t.definitions_.import_gnss="import gnss",E=e+"=gnss.NMEA0183("+i+")\n"),E},XY=function(_,t){return t.definitions_.import_pm2_5="import pm2_5",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".concentration()"+this.getFieldValue("pm"),t.ORDER_ATOMIC]},VY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=this.getFieldValue("key");return t.definitions_.import_gnss="import gnss",[e+"."+i,t.ORDER_ATOMIC]},kY=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_gnss="import gnss",[e+".any()",t.ORDER_ATOMIC]},wY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("num");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_button="from mixbot_ext import ext_button",[E="ext_button.value("+i+")"+T,t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_button="ext_button_left = i2cdevice.Buttonx5(ext_i2c_left)";var E="ext_button_left.value()"+T}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_button="ext_button_right = i2cdevice.Buttonx5(ext_i2c_right)";E="ext_button_right.value()"+T}return[E,t.ORDER_ATOMIC]}},WY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_collision="from mixbot_ext import ext_collision",[T="ext_collision.value("+i+")",t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_collision="ext_collision_left = i2cdevice.Button(ext_i2c_left)";var T="ext_collision_left.value()"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_collision="ext_collision_right = i2cdevice.Button(ext_i2c_right)";T="ext_collision_right.value()"}return[T,t.ORDER_ATOMIC]}},KY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==e){var i=this.getFieldValue("mode");return t.definitions_.import_mixbot_ext_ext_infrared="from mixbot_ext import ext_infrared",["ext_infrared.value("+i+")",t.ORDER_ATOMIC]}if("feiyi"==e){i=this.getFieldValue("mode");return t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_ps("+i+")",t.ORDER_ATOMIC]}},zY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_grey_near="ext_grey_near_left = i2cdevice.Infrared(ext_i2c_left)";var T="ext_grey_near_left.value()"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_grey_near="ext_grey_near_right = i2cdevice.Infrared(ext_i2c_right)";T="ext_grey_near_right.value()"}return[T,t.ORDER_ATOMIC]}},ZY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_potentiometer="from mixbot_ext import ext_potentiometer",[T="ext_potentiometer.value("+i+")",t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_potentiometer="ext_potentiometer_left = i2cdevice.Dimmer(ext_i2c_left)";var T="ext_potentiometer_left.value()"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_potentiometer="ext_potentiometer_right = i2cdevice.Dimmer(ext_i2c_right)";T="ext_potentiometer_right.value()"}return[T,t.ORDER_ATOMIC]}},QY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=this.getFieldValue("color");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_color="from mixbot_ext import ext_color",[E="ext_color.recognition("+i+")"+T,t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_color="ext_color_left = i2cdevice.Color_ID(ext_i2c_left)";var E="ext_color_left.recognition()"+T}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_color="ext_color_right = i2cdevice.Color_ID(ext_i2c_right)";E="ext_color_right.recognition()"+T}return[E,t.ORDER_ATOMIC]}},JY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode");if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_sonar="from mixbot_ext import ext_sonar",[T="ext_sonar.value("+i+")",t.ORDER_ATOMIC];if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_sonar="ext_sonar_left = i2cdevice.Sonar(ext_i2c_left)";var T="ext_sonar_left.value()"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_sonar="ext_sonar_right = i2cdevice.Sonar(ext_i2c_right)";T="ext_sonar_right.value()"}return[T,t.ORDER_ATOMIC]}},qY=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("mode"),T=t.valueToCode(this,"light",t.ORDER_ATOMIC),E=t.valueToCode(this,"bright",t.ORDER_ATOMIC);if("mixbot"==e)return t.definitions_.import_mixbot_ext_ext_sonar="from mixbot_ext import ext_sonar",n="ext_sonar.led("+i+","+T+","+E+")\n";if("feiyi"==e){if(t.definitions_.import_machine="import machine",t.definitions_.import_i2cdevice="import i2cdevice","0"==i){t.definitions_.import_left_ext_i2c="ext_i2c_left = i2cdevice.I2C_device(scl = machine.Pin(0), sda = machine.Pin(1), freq = 10000)",t.definitions_.import_left_sonar="ext_sonar_left = i2cdevice.Sonar(ext_i2c_left)";var n="ext_sonar_left.led(0,"+T+","+E+")\n"}else if("1"==i){t.definitions_.import_right_ext_i2c="ext_i2c_right = i2cdevice.I2C_device(scl = machine.Pin(2), sda = machine.Pin(3), freq = 10000)",t.definitions_.import_right_sonar="ext_sonar_right = i2cdevice.Sonar(ext_i2c_right)";n="ext_sonar_right.led(0,"+T+","+E+")\n"}return n}},jY=function(_,t){var e=this.getFieldValue("name");return t.definitions_["import_mixbot_ext_"+e]="from mixbot_ext import "+e,[e+".addr_get()",t.ORDER_ATOMIC]},$Y=function(_,t){var e=this.getFieldValue("name");return t.definitions_["import_mixbot_ext_"+e]="from mixbot_ext import "+e,e+".addr_set("+t.valueToCode(this,"old",t.ORDER_ATOMIC)+","+t.valueToCode(this,"new",t.ORDER_ATOMIC)+")\n"},_U=function(_,t){t.definitions_.import_ws_solo="import ws_solo";var e=t.valueToCode(this,"wd",t.ORDER_ATOMIC),i=t.valueToCode(this,"ws",t.ORDER_ATOMIC),T=t.valueToCode(this,"rain",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ws_solo.Weather_Solo("+e+", "+i+", "+T+")\n"},tU=function(_,t){return t.definitions_.import_ws_solo="import ws_solo",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".wind_direction()"+this.getFieldValue("key"),t.ORDER_ATOMIC]},eU=function(_,t){return t.definitions_.import_ws_solo="import ws_solo",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".wind_speed()"+this.getFieldValue("key"),t.ORDER_ATOMIC]},iU=function(_,t){return t.definitions_.import_ws_solo="import ws_solo",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".rain_count("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")"+this.getFieldValue("key"),t.ORDER_ATOMIC]},TU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+"."+t.valueToCode(this,"btn",t.ORDER_ATOMIC)+".is_pressed()",t.ORDER_ATOMIC]},EU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+"."+t.valueToCode(this,"btn",t.ORDER_ATOMIC)+".was_pressed()",t.ORDER_ATOMIC]},nU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+"."+t.valueToCode(this,"btn",t.ORDER_ATOMIC)+".get_presses("+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},oU=function(_,t){t.definitions_.import_machine="import machine";var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e]="import "+e;var i=t.valueToCode(this,"btn",t.ORDER_ATOMIC),T=this.getFieldValue("mode");return e+"."+i+".irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+T+")\n"},sU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+".button.is_pressed()",t.ORDER_ATOMIC]},OU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+".button.was_pressed()",t.ORDER_ATOMIC]},IU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+".button.get_presses("+(t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT)||"0")+")",t.ORDER_ATOMIC]},aU=function(_,t){t.definitions_.import_machine="import machine";var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e]="import "+e;var i=this.getFieldValue("mode");return e+".button.irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+i+")\n"},pU=function(_,t){return t.definitions_.import_sonar="import sonar",["sonar.Sonar("+t.valueToCode(this,"PIN1",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"PIN2",t.ORDER_ASSIGNMENT)+").checkdist()",t.ORDER_ATOMIC]},MU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},LU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},RU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},rU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},SU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},lU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},AU=function(_,t){return[this.getFieldValue("op"),t.ORDER_ATOMIC]},PU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_als"]="from "+e+" import onboard_als";return["onboard_als.ps_nl()",t.ORDER_ATOMIC]},NU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+".infrared_"+this.getFieldValue("direction")+"()",t.ORDER_ATOMIC]},dU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("direction");return t.definitions_["import_"+e+"_"+i]="from "+e+" import onboard_als_"+i,["onboard_als_"+i+".ps_nl()",t.ORDER_ATOMIC]},hU=dU,uU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("direction");return t.definitions_["import_"+e+"_"+i]="from "+e+" import onboard_als_"+i,["onboard_als_"+i+".als_vis()",t.ORDER_ATOMIC]},mU=uU,CU=function(_,t){return t.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},cU=function(_,t){return t.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},HU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==e)return t.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",t.ORDER_ATOMIC];if("mixgo_ce"==e)return t.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",t.ORDER_ATOMIC];if("mpython"==e)return t.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",t.ORDER_ATOMIC];t.definitions_["import_"+e+"_onboard_als"]="from "+e+" import onboard_als";return["onboard_als.als_vis()",t.ORDER_ATOMIC]},DU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==e){t.definitions_["import_"+e+"_sound"]="from "+e+" import sound";var i="sound.loudness()"}else if("mixgo_zero"==e){t.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";i="sound_level()"}else if("mixgo_nova"==e){t.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";i="sound_level()"}else{if("mixgo"==e)return t.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",t.ORDER_ATOMIC];if("mpython"==e)return t.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",t.ORDER_ATOMIC];if("mixgo_mini"==e){t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot";i="onboard_bot.soundlevel()"}else{t.definitions_["import_"+e+"_onboard_sound"]="from "+e+" import onboard_sound";i="onboard_sound.read()"}}return[i,t.ORDER_ATOMIC]},YU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("key");return t.definitions_["import_"+e+"_onboard_bps"]="from "+e+" import onboard_bps",["onboard_bps."+i,t.ORDER_ATOMIC]},UU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("key");if("mixgo_nova"==e||"mixgo_zero"==e){t.definitions_["import_"+e+"_onboard_ths"]="from "+e+" import onboard_ths";var T="onboard_ths."+i+"()"}else{t.definitions_["import_"+e+"_onboard_ths"]="from "+e+" import onboard_ths";T="onboard_ths."+i+"()"}return[T,t.ORDER_ATOMIC]},BU=function(_,t){return t.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",t.ORDER_ATOMIC]},gU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_rfid"]="from "+e+" import onboard_rfid";return['onboard_rfid.read_card(0, x="id")',t.ORDER_ATOMIC]},GU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_rfid"]="from "+e+" import onboard_rfid",["onboard_rfid.read_card("+i+', x="content")',t.ORDER_ATOMIC]},FU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),T=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_rfid"]="from "+e+" import onboard_rfid","onboard_rfid.write_card("+T+","+i+")\n"},yU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),T=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);return t.definitions_["import_"+e+"_onboard_rfid"]="from "+e+" import onboard_rfid",["onboard_rfid.write_card("+T+","+i+")",t.ORDER_ATOMIC]},fU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("key");if("strength"==i){if("mixbot"==e){t.definitions_["import_"+e+"_acc_gyr"]="from "+e+" import acc_gyr";var T="acc_gyr.strength()"}else{t.definitions_["import_"+e+"_onboard_acc"]="from "+e+" import onboard_acc";T="onboard_acc.strength()"}return[T,t.ORDER_ATOMIC]}if("mixbot"==e){t.definitions_["import_"+e+"_acc_gyr"]="from "+e+" import acc_gyr";T="acc_gyr.accelerometer()"+i}else if("mpython"==e){t.definitions_.import_mpython_motion="from mpython import motion";T="motion.accelerometer()"+i}else{t.definitions_["import_"+e+"_onboard_acc"]="from "+e+" import onboard_acc";T="onboard_acc.acceleration()"+i}return[T,t.ORDER_ATOMIC]},bU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e+"_onboard_acc"]="from "+e+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},xU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=this.getFieldValue("gesture"),i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==i&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+'.mpu9250_is_gesture("'+e+'")',t.ORDER_ATOMIC]},vU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=this.getFieldValue("key"),i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==i&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_"+e+"()",t.ORDER_ATOMIC]},XU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=t.valueToCode(this,"button",t.ORDER_ATOMIC);if("mixgo_mini"==e){t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot";var T="onboard_bot.touched("+i+")"}else{t.definitions_["import_"+e]="import "+e;T=e+".touched("+i+")"}return[T,t.ORDER_ATOMIC]},VU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==e){t.definitions_["import_"+e+"_onboard_bot"]="from "+e+" import onboard_bot";var i="onboard_bot.touch_slide()"}else{t.definitions_["import_"+e]="import "+e;i=e+".touch_slide(3,4)"}return[i,t.ORDER_ATOMIC]},kU=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+e]="import "+e,[e+"."+t.valueToCode(this,"button",t.ORDER_ATOMIC)+".is_touched()",t.ORDER_ATOMIC]},wU=function(_,t){return t.definitions_.import_mpython="import mpython",["mpython.touch_"+t.valueToCode(this,"button",t.ORDER_ATOMIC)+".is_touched()",t.ORDER_ATOMIC]},WU=function(_,t){t.definitions_.import_adxl345="import adxl345";var e,i=this.getFieldValue("key"),T=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"x"==i?e=T+".readX()":"y"==i?e=T+".readY()":"z"==i?e=T+".readZ()":"values"==i&&(e=T+".readXYZ()"),[e,t.ORDER_ATOMIC]},KU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=this.getFieldValue("key"),i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==i&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_magnetic_"+e+"()",t.ORDER_ATOMIC]},zU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=this.getFieldValue("key"),i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==i&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_gyro_"+e+"()",t.ORDER_ATOMIC]},ZU=function(_,t){return t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_compass="from mixgo import compass",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".calibrate()\n"},QU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return"mpu"==e&&(t.definitions_.import_mixgo_mpu="from mixgo import mpu"),[e+".mpu9250_get_temperature()",t.ORDER_ATOMIC]},JU=function(_,t){t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);"compass"==e&&(t.definitions_.import_mixgo_compass="from mixgo import compass");var i,T=this.getFieldValue("compass");return"strength"==T?i=e+".get_field_strength()":"heading"==T&&(i=e+".heading()"),[i,t.ORDER_ATOMIC]},qU=function(_,t){return t.definitions_.import_mpu9250="import mpu9250",t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_compass="from mixgo import compass",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".reset_calibrate()\n"},jU=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("gesture");return t.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+e+'")',t.ORDER_ATOMIC]},$U=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("key");return t.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+e+"()",t.ORDER_ATOMIC]},_B=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("key");return t.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+e+"()",t.ORDER_ATOMIC]},tB=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("key");return t.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+e+"()",t.ORDER_ATOMIC]},eB=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},iB=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",t.ORDER_ATOMIC]},TB=function(_,t){t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var e,i=this.getFieldValue("compass");return"strength"==i?e="onboard_compass.get_field_strength()":"heading"==i&&(e="onboard_compass.heading()"),[e,t.ORDER_ATOMIC]},EB=function(_,t){return t.definitions_.import_machine="import machine",t.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},nB=function(_,t){return t.definitions_.import_ntptime="import ntptime","ntptime.settime(("+t.valueToCode(this,"year",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"month",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"day",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"hour",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"minute",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"second",t.ORDER_ASSIGNMENT)+",0,0))\n"},oB=function(_,t){var e=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);return t.definitions_.import_ntptime="import ntptime","ntptime.settime("+e+")\n"},sB=function(_,t){t.definitions_.import_time="import time";return["time.localtime()",t.ORDER_ATOMIC]},OB=function(_,t){return t.definitions_.import_time="import time",["time.mktime("+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},IB=function(_,t){return t.definitions_.import_time="import time",["time.localtime("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},aB=function(_,t){var e=this.getFieldValue("key"),i=p_.Boards.getSelectedBoardKey().split(":")[2];if("all"==e)return t.definitions_["import_"+i+"onboard_mgs"]="from "+i+" import onboard_mgs",[T="onboard_mgs.getstrength()",t.ORDER_ATOMIC];if("mpython"==i){t.definitions_.import_mpython_magnetic="from mpython import magnetic";var T="magnetic.getdata()"+e}else{t.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";T="onboard_mgs.getdata()"+e}return[T,t.ORDER_ATOMIC]},pB=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==e){t.definitions_.import_mpython_magnetic="from mpython import magnetic";var i="magnetic.getangle()"}else{t.definitions_["import_"+e+"_onboard_mgs"]="from "+e+" import onboard_mgs";i="onboard_mgs.getangle()"}return[i,t.ORDER_ATOMIC]},MB=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+e+"_onboard_mgs"]="from "+e+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},LB=function(_,t){if("mixgo_mini"==p_.Boards.getSelectedBoardKey().split(":")[2]){t.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var e="onboard_temperature()"}else{t.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";e="onboard_acc.temperature()"}return[e,t.ORDER_ATOMIC]},RB=function(_,t){t.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",t.ORDER_ATOMIC]},rB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+e,t.ORDER_ATOMIC]},SB=function(_,t){return t.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",t.ORDER_ATOMIC]},lB=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2],i=this.getFieldValue("direction");return t.definitions_["import_"+e+"_adc"+i]="from "+e+" import adc"+i,["adc"+i+".read()",t.ORDER_ATOMIC]},AB=function(_,t){var e=p_.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==e?(t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",t.ORDER_ATOMIC]):(t.definitions_["import_"+e+"_battery"]="from "+e+" import battery",["battery.voltage()",t.ORDER_ATOMIC])},PB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+e,t.ORDER_ATOMIC]},NB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+e,t.ORDER_ATOMIC]},dB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+e,t.ORDER_ATOMIC]},hB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+e+")\n"},uB=function(_,t){t.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",t.ORDER_ATOMIC]},mB=function(_,t){var e=this.getFieldValue("key"),i=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_patrol"]="from "+i+" import patrol","patrol.correct(patrol.CORRECTING_"+e+")\n"},CB=function(_,t){var e=this.getFieldValue("key"),i=p_.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_patrol"]="from "+i+" import patrol",["patrol.getdata()"+e,t.ORDER_ATOMIC]},cB=function(_,t){t.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",t.ORDER_ATOMIC]},HB=function(_,t){var e=this.getFieldValue("key");return t.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr",["acc_gyr.gyroscope()"+e,t.ORDER_ATOMIC]},DB=function(_,t){return t.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+t.valueToCode(this,"mode",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},YB=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},UB=TU,BB=EU,gB=nU,GB=kU,FB=dU,yB=HU,fB=yB,bB=FY,xB=function(_,t){return t.definitions_.import_machine="import machine","uart"+this.getFieldValue("mode")+".write(str("+(t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC)||'""')+"))\n"},vB=function(_,t){return t.definitions_.import_machine="import machine","uart"+this.getFieldValue("mode")+".write("+(t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC)||'""')+")\n"},XB=function(_,t){return t.definitions_.import_machine="import machine","uart"+this.getFieldValue("mode")+".write(str("+(t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},VB=function(_,t){return t.definitions_.import_machine="import machine","uart"+this.getFieldValue("mode")+".write(str("+this.getFieldValue("STAT")+"("+(t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC)||"0")+"))+'\\r\\n')\n"},kB=function(_,t){return t.definitions_.import_machine="import machine",["uart"+this.getFieldValue("mode")+".any()",t.ORDER_ATOMIC]},wB=function(_,t){return t.definitions_.import_machine="import machine",["uart"+this.getFieldValue("mode")+".read()",t.ORDER_ATOMIC]},WB=function(_,t){return t.definitions_.import_machine="import machine",["uart"+this.getFieldValue("mode")+".readline()",t.ORDER_ATOMIC]},KB=function(_,t){t.definitions_.import_machine="import machine";var e=this.getFieldValue("mode");return"uart"+e+"=machine.UART("+e+", "+this.getFieldValue("baudrate")+")\n"},zB=function(_,t){t.definitions_.import_machine="import machine";var e=t.valueToCode(this,"RX",t.ORDER_ATOMIC),i=t.valueToCode(this,"TX",t.ORDER_ATOMIC),T=this.getFieldValue("mode");return"uart"+T+"=machine.UART("+T+", tx="+i+", rx="+e+", baudrate="+this.getFieldValue("baudrate")+")\n"},ZB=function(_,t){return t.definitions_.import_machine="import machine",["input("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+")",t.ORDER_ATOMIC]},QB=function(_,t){return t.definitions_.import_machine="import machine","print("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+")\n"},JB=function(_,t){return t.definitions_.import_machine="import machine","print("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+',end ="")\n'},qB=function(_,t){return"print("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+",end ="+(t.valueToCode(this,"END",t.ORDER_ATOMIC)||'""')+")\n"},jB=function(_,t){for(var e=new Array(this.itemCount_),i=0;i<this.itemCount_;i++)e[i]=t.valueToCode(this,"ADD"+i,t.ORDER_NONE)||"0";return e="print("+e.join(", ")+")\n"},$B=function(_,t){t.definitions_.import_uart_com="import uart_com";var e=this.getFieldValue("mode"),i=this.getFieldValue("STAT");return"uart_com.send(uart"+e+", "+(t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC)||"0")+", repeat="+i+")\n"},_g=function(_,t){return t.definitions_.import_uart_com="import uart_com",["uart_com.recv(uart"+this.getFieldValue("mode")+")",t.ORDER_ATOMIC]},tg=function(_,t){return"control.inBackground(() => {\n"+t.statementToCode(this,"do")+"})\n"},eg=function(){return"control.reset()\n"},ig=function(_,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},Tg=function(_,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},Eg=function(_,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||p_.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},ng=function(_,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},og=function(_,t){return["control.eventValue()",t.ORDER_ATOMIC]},sg=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Og=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ig=function(_,t){return["control.deviceName()",t.ORDER_ATOMIC]},ag=function(_,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},pg=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Mg=function(_,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Lg=function(){return"while True:\n pass\n"},Rg=function(_,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},rg=function(_,t){return t.definitions_.import_os="import os","os.uname()"},Sg=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},lg=function(_,t){t.definitions_.import_time="import time";var e=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+e+")\n";case"ms":return"time.sleep_ms("+e+")\n";case"us":return"time.sleep_us("+e+")\n"}},Ag=function(_,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Pg=function(_,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode = machine.Timer."+this.getFieldValue("mode")+", callback = "+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Ng=function(_,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},dg=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.Timer(0)\n"},hg=function(_,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},ug=function(_,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},mg=function(_,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Cg=function(_,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},cg=dg,Hg=Pg,Dg=Ng,Yg=Sg,Ug=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Bg=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},gg=function(_,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+","+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+","+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Gg={};Gg["MixGo(ESP32, 4M)"]={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},Gg["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:p_.Profile.generate(["0-7"]),exlcdv:p_.Profile.generate(["0-4"]),brightness:p_.Profile.generate(["0-9"]),tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},Gg["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},Gg.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:p_.Profile.generate(["1-13"]),haskylens_model:p_.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:p_.Profile.generate(["0-16"]),tts_builtin_music:p_.Profile.generate(["0-47"]),tts_bgmusic:p_.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const Fg=Gg,yg=230,fg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital),"PIN"),this.setOutput(!0)}},bg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},xg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Xg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},Vg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},kg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},wg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Wg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Kg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},zg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Zg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Qg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Jg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},qg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},jg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},$g={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},_G={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog),"PIN"),this.setOutput(!0)}},tG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},eG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac),"PIN"),this.setOutput(!0)}},iG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},TG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},EG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm),"PIN"),this.setOutput(!0)}},nG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},oG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},sG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch),"PIN"),this.setOutput(!0)}},OG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},IG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},aG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.imglist),"PIN"),this.setOutput(!0)}},MG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist),"PIN"),this.setOutput(!0)}},LG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},RG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},rG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},PG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},dG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},mG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.one_more),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},cG=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},HG=cG,DG=cG,YG=cG,UG=cG,BG=cG,gG=cG,GG=cG,FG=cG,yG=cG,fG=cG,bG=cG,xG=cG,vG=cG,XG=cG,VG=cG,kG=cG,wG=cG,WG=cG,KG=cG,zG=cG,ZG=cG,QG=cG,JG=cG,qG=cG,jG=cG,$G=cG,_F=cG,tF=cG,eF=cG,iF=cG,TF=cG,EF=cG,nF=cG,oF=cG,sF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是数字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是数字和字母的组合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元组 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加注释",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理块",COLLAPSE_ALL:"折叠块",COLLAPSE_BLOCK:"折叠块",COLOUR_BLEND_COLOUR1:"颜色1",COLOUR_BLEND_COLOUR2:"颜色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一个给定的比率(0.0-1.0)混合两种颜色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/颜色",COLOUR_PICKER_TOOLTIP:"从调色板中选择一种颜色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"随机颜色",COLOUR_RANDOM_TOOLTIP:"随机选择一种颜色。",COLOUR_RGB_BLUE:"蓝色",COLOUR_RGB_GREEN:"绿色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"红色",COLOUR_RGB_TITLE:"颜色",COLOUR_RGB_TOOLTIP:"通过指定红色、绿色和蓝色的量创建一种颜色。所有的值必须介于0和100之间。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中断循环",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"继续下一次循环",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中断包含它的循环。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳过这个循环的剩余部分,并继续下一次迭代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此块仅可用于在一个循环内。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"为每个项目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍历每个列表中的项目,将变量“%1”设定到该项中然后执行某些语句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 从范围 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"从起始数到结尾数中取出变量“%1”的值按指定的时间间隔执行指定的块。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if语句块中增加一个条件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一个最终的包括所有情况的节到if块中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、删除或重新排列各节来重新配置“if”块。",CONTROLS_IF_MSG_ELSE:"否则",CONTROLS_IF_MSG_ELSEIF:"否则如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值为真,执行一些语句。",CONTROLS_IF_TOOLTIP_2:"如果值为真,则执行第一块语句。否则,则执行第二块语句。",CONTROLS_IF_TOOLTIP_3:"如果第一个值为真,则执行第一块的语句。否则,如果第二个值为真,则执行第二块的语句。",CONTROLS_IF_TOOLTIP_4:"如果第一个值为真,则执行第一块对语句。否则,如果第二个值为真,则执行语句的第二块。如果没有值为真,则执行最后一块的语句。",CONTROLS_REPEAT_FOREVER:"一直重复",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直执行一些语句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循环",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重复 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次执行一些语句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重复直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重复当",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值为假,执行一些语句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值为真,执行一些语句。",DELETE_ALL_BLOCKS:"删除所有%1块吗",DELETE_BLOCK:"删除块",DELETE_VARIABLE:"删除“%1”变量",DELETE_VARIABLE_CONFIRMATION:"删除“%2”变量的%1种用途么",DELETE_X_BLOCKS:"删除块",DISABLE_BLOCK:"禁用块",DUPLICATE_BLOCK:"复制",ENABLE_BLOCK:"启用块",EXPAND_ALL:"展开块",EXPAND_BLOCK:"展开块",EXTERNAL_INPUTS:"多行输入",HELP:"帮助",INLINE_INPUTS:"单行输入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"创建空列表",TUPLE_CREATE_EMPTY_TITLE:"创建空元组",DICT_CREATE_EMPTY_TITLE:"创建空字典",SET_CREATE_EMPTY_TITLE:"创建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一个列表,长度为 0不包含任何数据记录",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元组",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个列表块。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个元组块。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个字典块。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、删除或重新排列各部分以此重新配置这个集合块。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元组",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到元组中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"将一个项添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一个具有任意数量项目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒数第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"获得",LISTS_GET_INDEX_GET_REMOVE:"取出并移除",LISTS_GET_INDEX_LAST:"最后",LISTS_GET_INDEX_RANDOM:"随机",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 项",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最后一项。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"随机返回列表中的一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除并返回列表中的第一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除并返回列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除并返回列表中的最后一个项目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除并返回列表中的一个随机项目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的项。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最后一项",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"删除列表中的一个随机的项。",LISTS_GET_SUBLIST_END_FROM_END:"到倒数第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最后",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"从头获得子列表",LISTS_GET_SUBLIST_START_FROM_END:"从倒数#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"从#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"复制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最后一项。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一个项目。",LISTS_INDEX_OF_FIRST:"找出第一个项出现",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最后一个项出现",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最后一个匹配项的索引值。如果找不到项目则返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表为空,则返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的长度",LISTS_LENGTH_TOOLTIP:"返回列表的长度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 项 %1 重复 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重复次数的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"为",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"设置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始处添加该项。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"将该项追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中随机插入项。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"设置列表中的第一个项目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"设置在列表中指定位置的项。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"设置列表中的最后一项。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"设置列表中一个随机的项目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一个列表的拷贝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小写",LISTS_SORT_TYPE_NUMERIC:"按数字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"从文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"从列表组合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一个文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每个分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果两个输入结果相等,则返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一个输入结果比第二个大,则返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一个输入结果大于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一个输入结果比第二个小,则返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一个输入结果小于或等于第二个输入结果,则返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果两个输入结果不相等,则返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果输入结果为假,则返回真;如果输入结果为真,则返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果两个输入结果都为真,则返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一个输入结果为真,则返回真。",LOGIC_TERNARY_CONDITION:"测试",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/条件运算符",LOGIC_TERNARY_IF_FALSE:"如果为假",LOGIC_TERNARY_IF_TRUE:"如果为真",LOGIC_TERNARY_TOOLTIP:"检查“test”中的条件。如果条件为真则返回“if true”的值否则则返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算术",MATH_ARITHMETIC_TOOLTIP_ADD:"返回两个数字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回两个数字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回两个数字的区别。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回两个数字的乘积。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一个数的第二个数次幂。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"将变量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"将一个数添加到变量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/数学常数",MATH_CONSTANT_TOOLTIP:"返回一个常见常量:π (3.141......)e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(无穷大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制数字 %1 介于 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制数字介于两个指定的数字之间",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"强制转换数据类型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整数部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶数",MATH_IS_NEGATIVE:"为负",MATH_IS_ODD:"是奇数",MATH_IS_POSITIVE:"为正",MATH_IS_PRIME:"是质数",MATH_IS_TOOLTIP:"如果数字是偶数、奇数、非负整数、正数、负数或如果它可被某数字整除,则返回真或假。",MATH_IS_WHOLE:"为整数",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余数",MATH_MODULO_TOOLTIP:"返回这两个数字相除后的余数。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"对数字进行位运算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/数",MATH_NUMBER_TOOLTIP:"一个数字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均数",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位数",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的随机项",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的标准差",MATH_ONLIST_OPERATOR_SUM:"列表中的数的总和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的数值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大数。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位数。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小数。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常见的项的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"从列表中返回一个随机的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的标准偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有数字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"随机小数",MATH_RANDOM_FLOAT_TOOLTIP:"返回介于包含0.0到1.0之间的随机数。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/随机数生成器",MATH_RANDOM_INT_TITLE:"从 %1 到 %2 之间的随机整数",MATH_RANDOM_INT_TOOLTIP:"返回两个指定的范围(含)之间的随机整数。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/数值修约",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"数字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"绝对",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一个数的绝对值。",MATH_SINGLE_TOOLTIP_EXP:"返回数的e次幂。",MATH_SINGLE_TOOLTIP_LN:"返回一个数的自然对数。",MATH_SINGLE_TOOLTIP_LOG10:"返回数字的对数。",MATH_SINGLE_TOOLTIP_NEG:"返回数的逻辑非。",MATH_SINGLE_TOOLTIP_POW10:"返回数的10次幂。",MATH_SINGLE_TOOLTIP_ROOT:"返回数的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函数",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一个数的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一个数的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"创建变量...",NEW_VARIABLE_TITLE:"新变量的名称:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允许声明",PROCEDURES_BEFORE_PARAMS:"参数:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"运行用户定义的函数“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"运行用户定义的函数“%1”并使用它的输出值。",PROCEDURES_CALL_BEFORE_PARAMS:"与:",PROCEDURES_CREATE_DO:"创建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定义函数",PROCEDURES_DEFNORETURN_TOOLTIP:"创建一个不带输出值的函数。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"创建一个有输出值的函数。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函数具有重复参数。",PROCEDURES_HIGHLIGHT_DEF:"突出显示函数定义",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值为真,则返回第二个值。",PROCEDURES_IFRETURN_WARNING:"警告: 仅在定义函数内可使用此块。",PROCEDURES_MUTATORARG_TITLE:"输入名称:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函数输入。",PROCEDURES_MUTATORCONTAINER_TITLE:"输入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、删除或重新排此函数的输入。",REDO:"重做",REMOVE_COMMENT:"删除注释",RENAME_VARIABLE:"重命名变量...",RENAME_VARIABLE_TITLE:"将所有“%1”变量重命名为:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"将一些文本追加到变量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"转为小写",TEXT_CHANGECASE_OPERATOR_TITLECASE:"转为首字母大写",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"转为大写",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小写复制这段文字。",TEXT_CHARAT_FIRST:"获得第一个字符",TEXT_CHARAT_FROM_END:"获得倒数第#个字符",TEXT_CHARAT_FROM_START:"获得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"从文本",TEXT_CHARAT_LAST:"获得最后一个字符",TEXT_CHARAT_RANDOM:"获取随机的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位于指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"将一个项添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各节来重新配置这个文本块。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒数第#个字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最后一个字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"从文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一个字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒数第#个字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出现",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最后 出现",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二个字串中的第一/最后一个匹配项的索引值。如果未找到则返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本为空,则返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"转为文本",TEXT_JOIN_TOOLTIP:"通过串起任意数量的项以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的长度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母数(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"输入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、数字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用户输入数字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用户输入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"输入数字并显示提示消息",TEXT_PROMPT_TYPE_TEXT:"输入数字并显示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一个字母、单词或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除两侧空格",TEXT_TRIM_OPERATOR_LEFT:"消除左侧空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右侧空格",TEXT_TRIM_TOOLTIP:"复制这段文字的同时删除两端多余的空格。",TODAY:"今天",UNDO:"撤销",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"创建“设定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此变量的值。",VARIABLES_SET:"将变量 %1 设定为 %2",VARIABLES_SET_CREATE_GET:"创建“获得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"设置此变量,以使它和输入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名为“%1”的变量。"};sF.PROCEDURES_DEFRETURN_TITLE=sF.PROCEDURES_DEFNORETURN_TITLE,sF.CONTROLS_IF_IF_TITLE_IF=sF.CONTROLS_IF_MSG_IF,sF.CONTROLS_WHILEUNTIL_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.CONTROLS_IF_MSG_THEN=sF.CONTROLS_REPEAT_INPUT_DO,sF.TRY_EXCEPT_TRY="try",sF.CONTROLS_IF_ELSE_TITLE_ELSE=sF.CONTROLS_IF_MSG_ELSE,sF.CONTROLS_IF_ELSE_TITLE_ELSE=sF.CONTROLS_IF_MSG_ELSE,sF.PROCEDURES_DEFRETURN_PROCEDURE=sF.PROCEDURES_DEFNORETURN_PROCEDURE,sF.LISTS_GET_SUBLIST_INPUT_IN_LIST=sF.LISTS_INLIST,sF.LISTS_GET_INDEX_INPUT_IN_LIST=sF.LISTS_INLIST,sF.PROCEDURES_DEFRETURN_DO=sF.PROCEDURES_DEFNORETURN_DO,sF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=sF.CONTROLS_IF_MSG_ELSEIF,sF.LISTS_GET_INDEX_HELPURL=sF.LISTS_INDEX_OF_HELPURL,sF.CONTROLS_FOREACH_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.LISTS_SET_INDEX_INPUT_IN_LIST=sF.LISTS_INLIST,sF.CONTROLS_FOR_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.LISTS_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.TUPLE_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.DICT_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.SET_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.TEXT_APPEND_VARIABLE=sF.VARIABLES_DEFAULT_NAME,sF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=sF.VARIABLES_DEFAULT_NAME,sF.MATH_CHANGE_TITLE_ITEM=sF.VARIABLES_DEFAULT_NAME,sF.LISTS_INDEX_OF_INPUT_IN_LIST=sF.LISTS_INLIST,sF.PROCEDURES_DEFRETURN_COMMENT=sF.PROCEDURES_DEFNORETURN_COMMENT,sF.MPYTHON_MAIN_HELPURL="",sF.MPYTHON_MAIN_TOOLTIP="",sF.MPYTHON_MAIN_MESSAGE0="主程序",sF.MPYTHON_OPEN="开启",sF.MPYTHON_CLOSE="关闭",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",sF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",sF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",sF.MPYTHON_AI_SENSOR_ENABLE_START="开始抓取图像",sF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取图像",sF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平镜像",sF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻转",sF.MPYTHON_AI_SENSOR_SETS_CONTRAST="对比度",sF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",sF.MPYTHON_AI_SENSOR_SETS_SATURATION="饱和度",sF.MPYTHON_AI2_FACE_YOLO="人脸识别",sF.MPYTHON_AI2_CLASS_20_YOLO="20类识别",sF.MPYTHON_AI2_MNIST_NET="数字识别",sF.MPYTHON_AI2_PHOTOGRAPH_FACE_YOLO="人脸",sF.MPYTHON_AI2_PHOTOGRAPH_CLASS_20_YOLO="20类",sF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",sF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",sF.TEXT_APPEND_TEXT_HELPURL="",sF.TEXT_APPEND_TEXT_TOOLTIP="",sF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",sF.CHINA_CITY_MESSAGE0="%1 %2",sF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",sF.CHINA_CITY_CNNAME="中文简称",sF.CHINA_CITY_PINYIN="拼音",sF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",sF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",sF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",sF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",sF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天气] %1 信息 %2 地理位置 %3 API私钥 %4 %5 语言 %6 %7 温度单位 %8",sF.MPYTHON_SENIVERSE_WEATHER_API_1="天气实况",sF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天气预报",sF.MPYTHON_SENIVERSE_WEATHER_API_3="6项生活指数",sF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="摄氏度",sF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="华氏度",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="设定 %1 为 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天气] 通用字段 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天气] 天气实况 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="风向角度范围0~360\n风速单位km/h当unit=c时、mph当unit=f时",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天气] 3天天气预报 %2 的 %3",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天气] 6项生活指数 %2",sF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名称",sF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",sF.MPYTHON_SENIVERSE_WEATHER_country="国家代码",sF.MPYTHON_SENIVERSE_WEATHER_path="行政归属",sF.MPYTHON_SENIVERSE_WEATHER_timezone="时区",sF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",sF.MPYTHON_SENIVERSE_WEATHER_last_update_date="数据更新日期",sF.MPYTHON_SENIVERSE_WEATHER_last_update="数据更新时间",sF.MPYTHON_SENIVERSE_WEATHER_object="原始字典对象",sF.MPYTHON_SENIVERSE_WEATHER_text="天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code="天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_temperature="温度",sF.MPYTHON_SENIVERSE_WEATHER_today="今天",sF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",sF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="后天",sF.MPYTHON_SENIVERSE_WEATHER_date="日期",sF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_text_night="晚间天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code_night="晚间天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_high="当天最高温度",sF.MPYTHON_SENIVERSE_WEATHER_low="当天最低温度",sF.MPYTHON_SENIVERSE_WEATHER_wind_direction="风向",sF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="风向角度",sF.MPYTHON_SENIVERSE_WEATHER_wind_speed="风速",sF.MPYTHON_SENIVERSE_WEATHER_wind_scale="风力等级",sF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗车指数",sF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指数",sF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指数",sF.MPYTHON_SENIVERSE_WEATHER_sport="运动指数",sF.MPYTHON_SENIVERSE_WEATHER_travel="旅游指数",sF.MPYTHON_SENIVERSE_WEATHER_uv="紫外线指数",sF.MPYTHON_RED="红",sF.MPYTHON_GREEN="绿",sF.MPYTHON_BLUE="蓝",sF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射频卡 读取电子钱包 数据",sF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="读取块数据,长度16字节",sF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射频卡 写入电子钱包 数据%1",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="写入块数据,长度16字节",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射频卡 给电子钱包%1 金额%2",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",sF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣费",sF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射频卡 获取电子钱包余额",sF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射频卡 获取序列号",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射频卡 初始化电子钱包",sF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射频卡 扫描",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超声波",sF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",sF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被触发 引脚%2",sF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",sF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模拟值 引脚%2",sF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",sF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="设置LED灯 输出%1 引脚%2",sF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循迹传感器 检测为黑 引脚%1",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打开 %1 引脚 %2",sF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="关闭 %1 引脚 %2",sF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",sF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",sF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 %2 REC %3 PLAY %4",sF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 %1 REC %2 PLAY %3",sF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",sF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="录音",sF.MPYTHON_BLUEBIT_IR_RECEIVE="红外探测",sF.MPYTHON_BLUEBIT_SOUND="麦克风",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循迹",sF.MPYTHON_BLUEBIT_VIBRATION="震动",sF.MPYTHON_BLUEBIT_RFID="射频卡",sF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指纹",sF.MPYTHON_BLUEBIT_PIR="人体感应",sF.MPYTHON_BLUEBIT_MAGNETIC="门磁开关",sF.MPYTHON_BLUEBIT_BUTTON="按键",sF.MPYTHON_BLUEBIT_RELAY="继电器",sF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位开关",sF.MPYTHON_BLUEBIT_FAN="风扇",sF.MPYTHON_BLUEBIT_LASER="激光",sF.MPYTHON_BLUEBIT_NTC_TEMP="热敏电阻",sF.MPYTHON_BLUEBIT_WATER="水位",sF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤湿度",sF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋钮电位器",sF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑电位器",sF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模拟光线",sF.MPYTHON_BLUEBIT_LM35_TEMP="LM35温度",sF.MPYTHON_BLUEBIT_SMOKE="烟雾",sF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正转",sF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反转",sF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",sF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤湿度",sF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤湿度(新)%1",sF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",sF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",sF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",sF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",sF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打开风扇 %1",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 关闭风扇 %1",sF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",sF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",sF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",sF.BLUE="A",sF.GREEN="B",sF.RED="C",sF.YELLOW="D",sF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",sF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",sF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度0~100",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打开直流电机 %1 %2 速度 %3",sF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度0~100",sF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 关闭直流电机",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="编码电机 模式 %1 拨码 %2 M1速度 %3 M2速度 %4",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止编码电机转动",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止编码电机转动 %1",sF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",sF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",sF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",sF.MPYTHON_BLUEBIT_TEMPERATURE="温度",sF.MPYTHON_BLUEBIT_HUMIDITY="湿度",sF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",sF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",sF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="设MIDI音量 %1",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",sF.MIDI_PIANO="平台钢琴",sF.MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",sF.MIDI_ELECTRICGRANDPIANO="电钢琴",sF.MIDI_HARPSICHORD="大键琴",sF.MIDI_CELESTA="钢片琴",sF.MIDI_GLOCKENSPIEL="钟琴",sF.MIDI_MUSICALBOX="音乐盒",sF.MIDI_MARIMBA="马林巴琴",sF.MIDI_XYLOPHONE="木琴",sF.MIDI_TUBULARBELL="管钟",sF.MIDI_DULCIMER="洋琴",sF.MIDI_VIBRAPHONE="颤音琴",sF.MIDI_ORGAN="音栓风琴",sF.MIDI_ACOUSTIC_GUITAR="木吉他",sF.MIDI_ELECTRIC_GUITAR="电吉他",sF.MIDI_ACOUSTIC_BASS="民谣贝斯",sF.MIDI_STRING_ENSEMBLE="弦乐合奏",sF.MIDI_VIOLIN="小提琴",sF.MIDI_TRUMPET="小号",sF.MIDI_SAX="萨克斯",sF.MIDI_STEEL_DRUMS="钢鼓",sF.MIDI_LEAD="合成音主旋律",sF.MIDI_PAD="合成音衬底",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="设MIDI乐器 %1",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",sF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音调 %2",sF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="设点阵亮度等級 %1",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",sF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="点阵 %1",sF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",sF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="点阵设置生效",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="设MP3音量 %1",sF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量0~30",sF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",sF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚连接音乐模块的 RXI 引脚",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",sF.MPYTHON_PLUS_1="加1",sF.MPYTHON_MINUS_1="減1",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",sF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="MP3 单曲循环 %1",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="设扩展端口 IO %2 为 %1",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",sF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="扩展端口值 IO %1",sF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="设扩展端口 IO %2 为 %1",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",sF.MPYTHON_LCD_OBJECT_HELPURL="",sF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",sF.MPYTHON_LCD_OBJECT_TOOLTIP="",sF.MPYTHON_LCD_PRINT_HELPURL="",sF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 显示 %1",sF.MPYTHON_LCD_PRINT_TOOLTIP="",sF.MPYTHON_LCD_HOME_HELPURL="",sF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光标 回到原点",sF.MPYTHON_LCD_HOME_TOOLTIP="",sF.MPYTHON_LCD_CURSOR_HELPURL="",sF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光标 %1",sF.MPYTHON_LCD_CURSOR_TOOLTIP="",sF.MPYTHON_LCD_SET_CURSOR_HELPURL="",sF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始点 行 %2 列 %1",sF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列从0开始计数",sF.MPYTHON_LCD_CLEAR_HELPURL="",sF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",sF.MPYTHON_LCD_CLEAR_TOOLTIP="",sF.MPYTHON_LCD_CURSOR_BLINK="闪烁",sF.MPYTHON_LCD_CURSOR_NO_BLINK="不闪烁",sF.MPYTHON_LEFT_TO_RIGHT="从左向右",sF.MPYTHON_RIGHT_TO_LEFT="从右向左",sF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",sF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",sF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",sF.MPYTHON_LCD_MOVE_HELPURL="",sF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滚动一格",sF.MPYTHON_LCD_MOVE_TOOLTIP="",sF.MPYTHON_IR_TRANS_HELPURL="",sF.MPYTHON_IR_TRANS_MESSAGE0="红外发送 单字节字符串 %1 tx 引脚 %2",sF.MPYTHON_IR_TRANS_TOOLTIP="\n单字节字符串\n'A', 'b', '1'等",sF.OUTPUT_PIN_HELPURL="",sF.OUTPUT_PIN_MESSAGE0="%1",sF.OUTPUT_PIN_TOOLTIP="",sF.INPUT_PIN_HELPURL="",sF.INPUT_PIN_MESSAGE0="%1",sF.INPUT_PIN_TOOLTIP="",sF.READ_ANALOG_PIN_HELPURL="",sF.READ_ANALOG_PIN_MESSAGE0="%1",sF.READ_ANALOG_PIN_TOOLTIP="",sF.SET_DIGITAL_HELPURL="",sF.SET_DIGITAL_MESSAGE0="%1",sF.SET_DIGITAL_TOOLTIP="",sF.SET_ANALOG_HELPURL="",sF.SET_ANALOG_MESSAGE0="%1",sF.SET_ANALOG_TOOLTIP="",sF.ALL_PIN_HELPURL="",sF.ALL_PIN_MESSAGE0="%1",sF.ALL_PIN_TOOLTIP="",sF.PWM_PIN_HELPURL="",sF.PWM_PIN_MESSAGE0="%1",sF.PWM_PIN_TOOLTIP="",sF.DH11_HUM_TEM_PIN_HELPURL="",sF.DH11_HUM_TEM_PIN_MESSAGE0="%1",sF.DH11_HUM_TEM_PIN_TOOLTIP="",sF.UART_TX_PIN_HELPURL="",sF.UART_TX_PIN_MESSAGE0="%1",sF.UART_TX_PIN_TOOLTIP="",sF.UART_RX_PIN_HELPURL="",sF.UART_RX_PIN_MESSAGE0="%1",sF.UART_RX_PIN_TOOLTIP="",sF.I2C_PIN_HELPURL="",sF.I2C_PIN_MESSAGE0="%1",sF.I2C_PIN_TOOLTIP="",sF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",sF.MQTT_COMMON_SETUP_TOOLTIP="",sF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",sF.MQTT_TENCENT_SETUP_TOOLTIP="",sF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",sF.MQTT_TENCENT_SETUPS_TOOLTIP="",sF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服务器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",sF.MQTT_SETUP_TOOLTIP="",sF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_CONNECT_MESSAGE0="连接 MQTT",sF.MQTT_CONNECT_TOOLTIP="",sF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_PUBLISH_MESSAGE0="发布 %1 至 主题 %2",sF.MQTT_PUBLISH_TOOLTIP="",sF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_REC_FROM_TOPIC_MESSAGE0="当从主题 %1 接收到 %2 时",sF.MQTT_REC_FROM_TOPIC_TOOLTIP="",sF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_RECEIVE_MESSAGE0="当从主题 %1 接收到 %2 时",sF.MQTT_RECEIVE_TOOLTIP='参数"主题"只接受变量',sF.MQTT_RECEIVED_MESSAGE0="当从主题 %1 接收到消息 时",sF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_MESSAGE_MESSAGE0="从 MQTT 收到的消息",sF.MQTT_MESSAGE_TOOLTIP="",sF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_WAIT_MSG_MESSAGE0="等待主题消息 以 %1 模式",sF.MQTT_WAIT_MSG_TOOLTIP="建议放在'一直重复'中运行",sF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_DISCONNECT_MESSAGE0="MQTT 断开连接",sF.MQTT_DISCONNECT_TOOLTIP="",sF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",sF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",sF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",sF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",sF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",sF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",sF.MPYTHON_SIOT_CONNECT_HELPURL="",sF.MPYTHON_SIOT_CONNECT_TOOLTIP="",sF.MPYTHON_SIOT_CONNECT_MESSAGE0="创建 SIoT 连接 %1 客户端ID %2 服务器 %3 用户 %4 密码 %5",sF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",sF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",sF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 连接成功 ?",sF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",sF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",sF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 订阅主题",sF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="点击左边星号 订阅 SIoT 主题",sF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 订阅 主题1",sF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主题",sF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",sF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多订阅 5 个主题",sF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",sF.MPYTHON_SIOT_DISCONNECT_HELPURL="",sF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",sF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 断开连接",sF.MPYTHON_SIOT_MESSAGE_HELPURL="",sF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",sF.MPYTHON_SIOT_MESSAGE_MESSAGE0="从 SIoT 收到的消息",sF.MPYTHON_SIOT_TOPIC1="主题1",sF.MPYTHON_SIOT_TOPIC2="主题2",sF.MPYTHON_SIOT_TOPIC3="主题3",sF.MPYTHON_SIOT_TOPIC4="主题4",sF.MPYTHON_SIOT_TOPIC5="主题5",sF.MPYTHON_SIOT_PUBLISH_HELPURL="",sF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",sF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 发送消息 %1 到 %2",sF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 发送消息 %1 到 主题 %2",sF.MPYTHON_SIOT_RECEIVE_HELPURL="",sF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",sF.MPYTHON_SIOT_RECEIVE_MESSAGE0="当从 SIoT %1 收到消息时 %2 执行 %3",sF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="当从 SIoT 主题 %1 收到消息时 %2 执行 %3",sF.MPYTHON_IR_RECV_HELPURL="",sF.MPYTHON_IR_RECV_MESSAGE0="红外接收 整型 rx 引脚 %1",sF.MPYTHON_IR_RECV_TOOLTIP="第一次接收总为空",sF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 显示 %1 x %2 y %3",sF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",sF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",sF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 显示图像 x %1 y %2 宽 %3 高 %4 16进制图像数据 %5",sF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",sF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",sF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",sF.mpythonbox_sound_MESSAGE0="声音值",sF.mpythonbox_sound_TOOLTIP="采样数据为0~4095。",sF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",sF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",sF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆电阻采样值。范围0~4095。",sF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按键%1",sF.MPYTHONBOX_5BUTTON_TOOLTIP="",sF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_MOTOR_MESSAGE0="马达 速度%1",sF.MPYTHONBOX_MOTOR_TOOLTIP="马达速度,范围±100。正值表示正转,负值则反。",sF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",sF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超声波",sF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超声波测距,获取超声波传感器测距值,单位cm。范围3~340CM",sF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",sF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人体红外",sF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人体红外触发值。当为1时,表示已触发当为0时,表示未触发。",sF.MPYTHONBOX_RGB_pixel_HELPURL="",sF.MPYTHONBOX_RGB_pixel_MESSAGE0="设定第 %1列 %2行 R%3 G%4 B%5",sF.MPYTHONBOX_RGB_pixel_TOOLTIP="设定第多少列行的RGB顏色",sF.MPYTHONBOX_RGB_get_pixel_HELPURL="",sF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",sF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列行位置的RGB颜色",sF.MPYTHONBOX_RGB_ImageText_HELPURL="",sF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滚动显示文本%1 速度%2",sF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滚动显示文本亮度为0不亮9最亮",sF.MPYTHONBOX_RGB_SetImage_HELPURL="",sF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",sF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",sF.MPYTHONBOX_RGB_Image_HELPURL="",sF.MPYTHONBOX_RGB_Image_MESSAGE0="显示图像%1",sF.MPYTHONBOX_RGB_Image_TOOLTIP="显示图像",sF.MPYTHONBOX_RGB_SetImage_HELPURL="",sF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",sF.MPYTHONBOX_RGB_SetImage_TOOLTIP="创建新图像每行每位数代表第几位灯默认红色亮度为0不亮9最亮。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="显示图像/文本 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="显示图像或文本消息。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="显示图像 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="显示图像。",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="复制图像 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="复制图像。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",sF.MPYTHONBOX_RGB_ImageCot_HELPURL="",sF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪图像%1 列%2 行%3 宽%4 高%5",sF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪图像",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="内置图像 %1",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="选择一个内置的图像。",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移图像 %1 %2 %3 位",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移动图像,并返回移动后的结果。",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",sF.MPYTHONBOX_RGB_clear_HELPURL="",sF.MPYTHONBOX_RGB_clear_MESSAGE0="关闭所有 RGB 灯",sF.MPYTHONBOX_RGB_clear_TOOLTIP="",sF.MPYTHONBOX_RGB_pixel_return_HELPURL="",sF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 颜色",sF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列行的RGB顏色",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1轴加速度",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1轴角速度",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",sF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1欧拉角",sF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回当前欧拉角(Pitch,Roll,Yaw),单位角度",sF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元数",sF.MPYTHONBOX_QUATERNION_TOOLTIP="返回当前四元数(w,x,y,z)",sF.MPYTHONBOX_CAMERA_LED_HELPURL="",sF.MPYTHONBOX_CAMERA_LED_MESSAGE0="摄像灯%1",sF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led灯分为打开和关闭两种状态",sF.LIST_FIRST_INDEX_HELPURL="",sF.LIST_FIRST_INDEX_MESSAGE0="项 %1 在列表 %2 %3 出现的位置",sF.LIST_FIRST_INDEX_TOOLTIP="",sF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",sF.MPYTHON_AI_LCD_INIT_MESSAGE0="屏幕 初始化 ",sF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 屏幕显示",sF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",sF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="摄像头 初始化",sF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",sF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",sF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="摄像头%1",sF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取图像",sF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",sF.MPYTHON_AI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",sF.MPYTHON_AI_LCD_TEXT_TOOLTIP="仅支持字母和数字",sF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",sF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",sF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",sF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",sF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 摄像头 获取%1",sF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)摄像头返回参数(宽高,图像帧的格式,图像帧的大小)",sF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",sF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",sF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",sF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",sF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",sF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",sF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",sF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="摄像头 白平衡%1",sF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="设置摄像自动白平衡模式,默认打开。True为打开, False为关闭自动白平衡。若您想追踪颜色则需关闭白平衡。",sF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",sF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 %1 %2",sF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",sF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",sF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 显示生效",sF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示",sF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",sF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 显示生效 x%1 y%2 宽%3 高%4",sF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上显示一张图片",sF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",sF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",sF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",sF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",sF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",sF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",sF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",sF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",sF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="屏幕 显示清空",sF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",sF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",sF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",sF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",sF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",sF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",sF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",sF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",sF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",sF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",sF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",sF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="图像转换为%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻转是将二进制图像0黑色变为1白色1白色变为0黑色非常快速地翻转二进制图像中的所有像素值。",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="图像 从笛卡尔坐标到%1 坐标重新投影 反向%2",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",sF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",sF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="图像 膨胀 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域。",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="图像 中点滤波 级别%1 滤波%2",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制图像混合的最小/最大程度。0只适用于最小滤波1仅用于最大滤波。",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="图像 众数滤波 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在图像上运行众数滤波,用相邻像素的模式替换每个像素。",sF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",sF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="图像 模糊滤波 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式滤波器的标准均值模糊滤波。",sF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",sF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="图像 卡通化 级别%1 起始像素差异%2 相邻像素差异%3",sF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",sF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",sF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="图像 3D旋转 上下旋转%1 左右旋转%2 度数%3 左右移动%4 上下移动%5 缩放%6",sF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通过执行帧缓冲区的3D旋转来纠正图像中的透视问题。",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",sF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(实验箱)选择训练模型 人脸",sF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(实验箱)调用摄像头进行 人脸识别",sF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(实验箱)获取识别后人脸的 所有参数",sF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",sF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(实验箱)获取识别后人脸的 x坐标",sF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",sF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(实验箱)获取识别后人脸的 y坐标",sF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",sF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(实验箱)获取识别后人脸的 宽度",sF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",sF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(实验箱)获取识别后人脸的 高度",sF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",sF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(实验箱)获取识别后人脸的 置信度",sF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",sF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(实验箱)获取识别后人脸的 数量",sF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",sF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(实验箱)选择训练模型 20类",sF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以识别20个类型分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(实验箱)调用摄像头进行 20类识别",sF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",sF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(实验箱)获取识别后20类的 所有参数",sF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",sF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(实验箱)获取识别后20类的 x坐标",sF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",sF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(实验箱)获取识别后20类的 y坐标",sF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",sF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(实验箱)获取识别后20类的 宽度",sF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",sF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(实验箱)获取识别后20类的 高度",sF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",sF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(实验箱)获取识别后20类的 置信度",sF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",sF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(实验箱)获取识别后20类的 数量",sF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",sF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(实验箱)获取识别后20类的 类型",sF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数可以识别20个类型分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(实验箱)获取识别后20类的 类型数量",sF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",sF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(实验箱)选择训练模型 手写数字",sF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",sF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(实验箱)调用摄像头进行 手写数字识别",sF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(实验箱)获取识别后手写数字的 所有参数",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(实验箱)获取识别后手写数字的 数字",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(实验箱)获取识别后手写数字的 置信度",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",sF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",sF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(实验箱)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",sF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追踪色块",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(实验箱)追踪颜色 显示%1",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",sF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(实验箱)%1获取识别后色块的 所有参数",sF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_X_MESSAGE0="(实验箱)%1获取识别后色块的 x坐标",sF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_Y_MESSAGE0="(实验箱)%1获取识别后色块的 y坐标",sF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_W_MESSAGE0="(实验箱)%1获取识别后色块的 宽度",sF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_H_MESSAGE0="(实验箱)%1获取识别后色块的 高度",sF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(实验箱)%1获取识别后色块的 数量",sF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(实验箱)%1获取识别后色块的 中心x坐标",sF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(实验箱)%1获取识别后色块的 中心y坐标",sF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(实验箱)%1获取识别后色块的 矩形",sF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",sF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",sF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",sF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",sF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",sF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",sF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",sF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="摄像头 初始化 像素模式 %1",sF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用于设置摄像头像素模式,有黑白和rgb彩色",sF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 训练 %1",sF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",sF.MPYTHON_DRILL_WEIGHT_HELPURL="",sF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",sF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="实例化 线性回归直线",sF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",sF.MPYTHON_DRILL_TITLE_HELPURL="",sF.MPYTHON_DRILL_TITLE_MESSAGE0="标题%1 字号%2",sF.MPYTHON_DRILL_TITLE_TOOLTIP="",sF.MPYTHON_DRILL_LABEL_HELPURL="",sF.MPYTHON_DRILL_LABEL_MESSAGE0="标签%1 标题%2 字号%3",sF.MPYTHON_DRILL_LABEL_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",sF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真实数据 符号标记%1 颜色为r%2 g%3 b%4 标题%5",sF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",sF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",sF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="预测线性回归直线 符号标记%1 颜色为r%2 g%3 b%4 标题%5",sF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",sF.MPYTHON_DRILL_LEGEND_HELPURL="",sF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示图例",sF.MPYTHON_DRILL_LEGEND_TOOLTIP="",sF.MPYTHON_DRILL_SHOW_HELPURL="",sF.MPYTHON_DRILL_SHOW_MESSAGE0="显示图片",sF.MPYTHON_DRILL_SHOW_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",sF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="输入测试数值%1",sF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_full_line="实线",sF.MPYTHON_DRILL_DRILL_dash_line="破折线",sF.MPYTHON_DRILL_DRILL_chain_line="点划线",sF.MPYTHON_DRILL_DRILL_imaginary_line="虚线",sF.MPYTHON_DRILL_DRILL_dot="点",sF.MPYTHON_DRILL_DRILL_pixel="像素",sF.MPYTHON_DRILL_DRILL_solid_rim="实心圈",sF.MPYTHON_DRILL_DRILL_down_triangle="下三角",sF.MPYTHON_DRILL_DRILL_up_triangle="上三角",sF.MPYTHON_DRILL_DRILL_right_triangle="右三角",sF.MPYTHON_DRILL_DRILL_left_triangle="左三角",sF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",sF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",sF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",sF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",sF.MPYTHON_DRILL_DRILL_solid_square="实心方形",sF.MPYTHON_DRILL_DRILL_solid_pentagon="实心五角",sF.MPYTHON_DRILL_DRILL_star="星形",sF.MPYTHON_DRILL_DRILL_vertical_hexagon="竖六边形",sF.MPYTHON_DRILL_DRILL_across_hexagon="横六边形",sF.MPYTHON_DRILL_DRILL_cross="十字",sF.MPYTHON_DRILL_DRILL_X="X",sF.MPYTHON_DRILL_DRILL_rhombus="菱形",sF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",sF.MPYTHON_DRILL_DRILL_vertical_line="垂直线",sF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鸢尾花数据集",sF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="采用Python的Sklearn机器学习库中自带的数据集——鸢尾花数据集。简单分析数据集之间特征的关系图根据花瓣长度、花瓣宽度、花萼长度、花萼宽度四个特征进行绘图Iris plants 数据集可以从KEEL dataset数据集网站获取也可以直接从Sklearn.datasets机器学习包得到。数据集共包含4个特征变量、1个类别变量共有150个样本。类别变量分别对应鸢尾花的三个亚属分别是山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica) 分别用[0,1,2]来做映射",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鸢尾花 主成分分析",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鸢尾花 因子分析 3D",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鸢尾花 因子分析",sF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="预测图示 鸢尾花类型%1 呈现内容 x%3 y%4 呈现种类%2 颜色为 r%5 g%6 b%7 标题%8 向上合并%9",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="预测图示 呈现内容 x%1 y%2 呈现种类%3 颜色为 r%4 g%5 b%6 标题%7",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 预测图示 呈现内容 x朝向%1 y朝向%2 z朝向%3 颜色为 r%4 g%5 b%6 标题%7",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="标题%1 字号%2",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="标签%1 标题%2 字号%3",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 标题%1 字号%2",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 标签%1 标题%2 字号%3",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示图例",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="显示图片",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x,y坐标",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150条记录分别代表50条山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)、维吉尼亚鸢尾(Iris-virginica)",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="变色鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="维吉尼亚鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散点图",sF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde图",sF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱图",sF.MPYTHONS_FLOWER_DE_LUCE_merge="合并",sF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合并",sF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼长度",sF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼宽度",sF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣长度",sF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣宽度",sF.MPYTHONS_CONVERT_PICTURE_HELPURL="",sF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="将图片转换为28²二值图%1 待处理的图片存储路径%2 处理后的图片存储路径%3 格式%4",sF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通过串口把WIF传给语音助手",sF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",sF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手写数字数据 存储路径%1",sF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手写数字字符库",sF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",sF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手写数字图像 存储路径%1",sF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="手写数字图像的路径",sF.MPYTHONS_SHOW_NUMBER_HELPURL="",sF.MPYTHONS_SHOW_NUMBER_MESSAGE0="显示手写数字图像",sF.MPYTHONS_SHOW_NUMBER_TOOLTIP="显示手写数字图像",sF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",sF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="识别手写数字图像 存储路径%1",sF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="识别手写数字图像的路径",sF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",sF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="创建变量%1 初始化 神经网络张量 变量名%2",sF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",sF.MPYTHON_DRILL_RESHAPE_MESSAGE0="创建变量%1 将输入照片变量 %2 转换为 神经网络输出张量%3",sF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",sF.MPYTHON_DRILL_RESHAPE_HELPURL="",sF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="创建变量%1 共享变量名%2 初始化模式%3",sF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",sF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="产生截断正态分布随机数 输出张量%1 标准差%2",sF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",sF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",sF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="创建常量 数值%1 输出张量%2",sF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",sF.MPYTHON_NUMBER_CONSTANT_HELPURL="",sF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神经网络输出张量%1 共享变量%2 步长%3 填充%4",sF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",sF.MPYTHON_NUMBER_CONV2D_HELPURL="",sF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="张量%1",sF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",sF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷积二维层 变量%1 %2",sF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",sF.MPYTHON_NUMBER_RELU_MESSAGE0="创建变量%1 Relu正向激励函数 卷积二维层%2",sF.MPYTHON_NUMBER_RELU_TOOLTIP="",sF.MPYTHON_NUMBER_RELU_HELPURL="",sF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二维层 变量%1 卷积层%2 池化窗口%3 步长%4 填充%5",sF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",sF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",sF.MPYTHON_NUMBER_MATMUL_MESSAGE0="两个参数的对应元素各自相乘 x%1 y%2",sF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",sF.MPYTHON_NUMBER_MATMUL_HELPURL="",sF.MPYTHON_NUMBER_ADD_MESSAGE0="全连接层 变量%1 两个参数的元素相加 x%2 y%3",sF.MPYTHON_NUMBER_ADD_TOOLTIP="",sF.MPYTHON_NUMBER_ADD_HELPURL="",sF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="创建变量%1 预测模型准确度 变量名%2",sF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",sF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",sF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="创建变量%1 损失函数%2",sF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",sF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",sF.MPYTHON_NUMBER_LOG_MESSAGE0="自然对数 %1",sF.MPYTHON_NUMBER_LOG_TOOLTIP="",sF.MPYTHON_NUMBER_LOG_HELPURL="",sF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="压缩求和%1 维度%2",sF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因为log函数是单调递增的所以logP(Y|X)也会达到最大值因此在前面加上负号之后最大化P(Y|X)就等价于最小化L了。",sF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",sF.MPYTHON_NUMBER_TRAIN_MESSAGE0="优化学习速率 %1",sF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",sF.MPYTHON_NUMBER_TRAIN_HELPURL="",sF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="创建变量%1 优化张量%2",sF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",sF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",sF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",sF.MPYTHON_NUMBER_INIT_TOOLTIP="",sF.MPYTHON_NUMBER_INIT_HELPURL="",sF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="选择 手写数字集%1 数量%2",sF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",sF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",sF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",sF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="预测模型%1 拟合度%2 会话%3",sF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",sF.MPYTHON_NUMBER_EQUAL_MESSAGE0="两个张量的每一维是否相等 x%1 y%2",sF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",sF.MPYTHON_NUMBER_EQUAL_HELPURL="",sF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="张量 %1 按%2比较返回最大值的索引",sF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",sF.MPYTHON_NUMBER_ARGMAX_HELPURL="",sF.MPYTHON_NUMBER_CAST_MESSAGE0="转为浮点型 %1",sF.MPYTHON_NUMBER_CAST_TOOLTIP="",sF.MPYTHON_NUMBER_CAST_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手写数字识别模型 变量名%1 存储路径%2",sF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手写数字识别模型保存路径",sF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加载模型 %1 存储路径%2",sF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="加载模型",sF.MPYTHONS_NUMBER_SAME="包含边界",sF.MPYTHONS_NUMBER_VALID="不包含边界",sF.MPYTHONS_NUMBER_train="训练",sF.MPYTHONS_NUMBER_test="测试",sF.MPYTHONS_NUMBER_row="行",sF.MPYTHONS_NUMBER_rank="列",sF.MPYTHONS_NUMBERNEW_INITIALIZE_HELPURL="",sF.MPYTHONS_NUMBERNEW_INITIALIZE_MESSAGE0="初始化 张量 载入mnist数据集",sF.MPYTHONS_NUMBERNEW_INITIALIZE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_MESSAGE0="卷积 一 层",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_MESSAGE0="池化 一 层",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_MESSAGE0="卷积 二 层",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_MESSAGE0="池化 二 层",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_MESSAGE0="全连接 一 层",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_MESSAGE0="全连接 二 层",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_LOSS_HELPURL="",sF.MPYTHONS_NUMBERNEW_LOSS_MESSAGE0="配置Adam优化器 学习速率为%1",sF.MPYTHONS_NUMBERNEW_LOSS_TOOLTIP="学习速率为0.001~0.000001之间",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_MESSAGE0="初始化 tensorflow模型%1 训练模型%2 步数%3",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TOOLTIP="步数不能小于10",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_MESSAGE0="模型训练准确率",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_MESSAGE0="预测 训练正确率",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_MESSAGE0="预测 手写数字%1",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_TOOLTIP="仅支持28*28像素的黑白图片",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_MESSAGE0="显示图片%1",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="调用摄像头 %1",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="调用笔记本内置摄像头所以参数为0如果有其他的摄像头可以调整参数为1,2",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="关闭摄像头",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="删除所有窗口",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="从摄像头读取图片",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有读取图片就True否则false;第二个参数是frame是当前截取一帧的图片。",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="转为灰度图片",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="检测人脸 每次图像尺寸减小比例%1",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人脸区域显示矩形框 颜色为 红%1 绿%2 蓝%3",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存图像 位置%1 ID%2 编号%3",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中显示图像 文件名%1",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通过esc键 退出",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置顶时使用才有效果",sF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="获得人脸在图像中的坐标值 人脸%1",sF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否有读取图片",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打开摄像头",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="获取照片及id 照片存储路径%1",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化训练模型",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="初始化训练模型",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="开始训练模型",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1训练模型 存储路径%2",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人脸模型训练 数目",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口显示 识别的名字%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",sF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口显示 识别的置信度%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="预测人脸 名字%1 置信度%2",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="写入",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="读取",sF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",sF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",sF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",sF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",sF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",sF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",sF.Jenny="珍妮",sF.Jack="杰克",sF.Tom="汤姆",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查阅训练库 选择%1",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",sF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",sF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",sF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",sF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",sF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",sF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",sF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",sF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",sF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",sF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",sF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",sF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",sF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",sF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",sF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",sF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",sF.MPYTHON_AGESTURE_ARRAY_HELPURL="",sF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",sF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",sF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",sF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",sF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",sF.MPYTHON_GESTURE_READ_LEND_HELPURL="",sF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",sF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",sF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",sF.MPYTHON_GESTURE_SCORE_HELPURL="",sF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",sF.MPYTHON_GESTURE_SCORE_TOOLTIP="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",sF.MPYTHON_GESTURE_FORECAST_HELPURL="",sF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",sF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",sF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",sF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",sF.MPYTHON_AGESTURENEW_INITIALIZE_HELPURL="",sF.MPYTHON_AGESTURENEW_INITIALIZE_MESSAGE0="初始化 KNN",sF.MPYTHON_AGESTURENEW_INITIALIZE_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOOT_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOOT_MESSAGE0="拍摄 进行手势检测",sF.MPYTHON_AGESTURENEW_SHOOT_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_MESSAGE0="拍摄 训练集",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_TOOLTIP="",sF.MPYTHON_AGESTURENEW_GRAY_HELPURL="",sF.MPYTHON_AGESTURENEW_GRAY_MESSAGE0="图像处理",sF.MPYTHON_AGESTURENEW_GRAY_TOOLTIP="",sF.MPYTHON_AGESTURENEW_TRAIN_HELPURL="",sF.MPYTHON_AGESTURENEW_TRAIN_MESSAGE0="开始分类训练",sF.MPYTHON_AGESTURENEW_TRAIN_TOOLTIP="",sF.MPYTHON_AGESTURENEW_START_FORECAST_HELPURL="",sF.MPYTHON_AGESTURENEW_START_FORECAST_MESSAGE0="开始预测",sF.MPYTHON_AGESTURENEW_START_FORECAST_TOOLTIP="",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_HELPURL="",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_MESSAGE0="预测结果",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_MESSAGE0="显示图片";sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_TOOLTIP="",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="Esc退出拍摄",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸库%1",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_MESSAGE0="拍照 进行人脸检测 %1",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_TOOLTIP="按S建拍摄Esc退出拍摄",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",sF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",sF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",sF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",sF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表 排序前%1",sF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="读取词汇表 排序前%1",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",sF.FIRST="第一次",sF.LAST="最后一次",sF.MPYTHON_USOCKET_BLOCK="阻塞",sF.MPYTHON_USOCKET_UNBLOCK="非阻塞",sF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",sF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="设置socket %1 地址 %2 类型 %3",sF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="设置给定套接字选项的值。所需的符号常量在套接字模块中定义SO_ *等)。该值可以是整数或表示缓冲区的类字节对象。",sF.MPYTHON_USOCKET_READLINE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",sF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行数据,遇换行符结束并返回接收数据的对象",sF.MPYTHON_USOCKET_READLINE_TOOLTIP=" 接收一行数据,遇换行符结束,并返回接收数据的对象",sF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",sF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="设 socket %1 为 %2 模式",sF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",sF.MPYTHON_USOCKET_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.read",sF.MPYTHON_USOCKET_READ_MESSAGE0="从socket %1 读取 %2 字节并返回字节对象",sF.MPYTHON_USOCKET_READ_TOOLTIP="若未给定读取数量 ,则按照类似 socket.readall() 的模式运行",sF.MPYTHON_ESC_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",sF.MPYTHON_ESC_MESSAGE0="设 socket %1 为 %2 模式",sF.MPYTHON_ESC_TOOLTIP="",sF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.settimeout",sF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 设超时时间 %2 秒",sF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",sF.MPYTHON_USOCKET_SENDALL_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 连续发送 %2 并返回发送的字节数",sF.MPYTHON_USOCKET_SENDALL_TOOLTIP="将所有数据发送到套接字。套接字必须连接到远程套接字。与 send() 此不同,此方法将尝试通过连续发送数据块来发送所有数据。",sF.MPYTHON_USOCKET_SENDS_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",sF.MPYTHON_USOCKET_SENDS_TOOLTIP='将数据发送到套接字。套接字必须连接到远程套接字。返回发送的字节数,可能小于数据长度 ("short write")。',sF.MPYTHON_USOCKET_SEND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",sF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",sF.MPYTHON_USOCKET_SENDTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.sendto",sF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 发送 %2 到地址 %3",sF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",sF.MPYTHON_USOCKET_RECV_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recv",sF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收并返回接收到的数据对象 最大数据量为 %2",sF.MPYTHON_USOCKET_RECV_TOOLTIP="",sF.MPYTHON_TEXT_ESC_HELPURL="",sF.MPYTHON_TEXT_ESC_MESSAGE0="文本转义字符 %1",sF.MPYTHON_TEXT_ESC_TOOLTIP="文本转义字符",sF.MPYTHON_USOCKET_RECVFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recvfrom",sF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收并返回接收到的数据元组 最大数据量为 %2",sF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元组格式 (bytes, address)",sF.MPYTHON_USOCKET_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.connect",sF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 连接 host %2 端口 %3",sF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",sF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.getaddrinfo",sF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 并返回 ip",sF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需联网",sF.MPYTHON_USOCKET_ACCEPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",sF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接收连接请求并返回socket元组",sF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收连接请求。socket需要指定地址并监听连接。返回值是 (conn, address)。\nconn新的socket对象可以用来收发消息\naddress连接到服务器的客户端地址",sF.MPYTHON_USOCKET_LISTEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.listen",sF.MPYTHON_USOCKET_LISTEN_MESSAGE0="监听socket %1 backlog个数 %2",sF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog 接受套接字的最大个数至少为0如果没有指定则默认一个合理值。",sF.MPYTHON_USOCKET_BIND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.bind",sF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 绑定地址 %2 端口 %3",sF.MPYTHON_USOCKET_BIND_TOOLTIP="",sF.MPYTHON_USOCKET_CLOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.close",sF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 关闭",sF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",sF.MPYTHON_USOCKET_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",sF.MPYTHON_USOCKET_INIT_MESSAGE0="创建 socket %1 地址 %2 类型 %3",sF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP IPv4\nAF_INET6 :=10 — TCP/IP IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP数据报\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",sF.MPYTHON_GET_POST_HELPURL="",sF.MPYTHON_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",sF.MPYTHON_GET_POST_TOOLTIP="",sF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",sF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",sF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",sF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",sF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",sF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 请求网址 %2 文件路径 %3 Mime类型 %4 附加字段 %5",sF.MPYTHON_RESPONSE_HELPURL="",sF.MPYTHON_RESPONSE_MESSAGE0="响应内容 形式 %1",sF.MPYTHON_RESPONSE_TOOLTIP="",sF.STRING="字符串",sF._BYTE="二进制",sF.BYTES="字节",sF.TEXT="文本",sF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",sF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="响应属性 %1",sF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",sF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",sF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右键帮助,查看引脚声明",sF.MPYTHON_SETS_PIN_MODE_MESSAGE0="设置引脚 %1 为 %2 模式 %3 并设置值为 %4",sF.MPYTHON_SET_PIN_IN="输入",sF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽输出",sF.MPYTHON_SET_PIN_LEAKY_OUT="开漏输出",sF.MPYTHON_SET_PIN_NO_PULL="无上下拉",sF.MPYTHON_SET_PIN_DOWN_PULL="下拉",sF.MPYTHON_SET_PIN_UP_PULL="上拉",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="线程锁对象 %1 请求锁",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",sF.MPYTHON_START_NEW_THREAD_HELPURL="",sF.MPYTHON_START_NEW_THREAD_MESSAGE0="子线程 %1",sF.MPYTHON_START_NEW_THREAD_TOOLTIP="",sF.MPYTHON_UART_INIT_HELPURL="",sF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",sF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3组串口。0用于REPL剩下1、2两组串口可用。所有引脚均可以作为串口的输入RX除 P2、P3 、P4 、P10 只能作为输入其余所有的引脚理论上都可以作为输出TX。",sF.MPYTHON_UART_DEINIT_HELPURL="",sF.MPYTHON_UART_DEINIT_MESSAGE0="关闭串口 %1",sF.MPYTHON_UART_DEINIT_TOOLTIP="关闭 UART 总线",sF.MPYTHON_UART_WRITE_STR_HELPURL="",sF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 写入文本 %2 %3",sF.MPYTHON_UART_WRITE_STR_TOOLTIP="将文本写入总线。\n返回值写入或 None 超时的字节数。",sF.MPYTHON_UART_WRITE_HEX_HELPURL="",sF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 发送16进制字符串 %2 %3",sF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",sF.MPYTHON_UART_HAS_DATA_HELPURL="",sF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可读数据",sF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一个整数,计算可以无阻塞地读取的字符数。\n如果没有可用字符它将返回0如果有字符则返回正数。\n即使有多个可读的字符该方法也可以返回1。",sF.MPYTHON_UART_READLINE_HELPURL="",sF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 读取一行数据",sF.MPYTHON_UART_READLINE_TOOLTIP="读一行,以换行符结尾。\n返回值读取行或 None 超时。",sF.MPYTHON_UART_READ_HELPURL="",sF.MPYTHON_UART_READ_MESSAGE0="串口 %1 读取数据",sF.MPYTHON_UART_READ_TOOLTIP="读取尽可能多的串口数据\n返回值包含读入字节的字节列表。若读取超时则返回 None。",sF.MPYTHON_UART_READ_LENGTH_HELPURL="",sF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 读取数据 长度 %2",sF.MPYTHON_UART_READ_LENGTH_TOOLTIP="读取指定长度字节数据\n返回值包含读入字节的字节列表。若读取超时则返回 None。",sF.MPYTHON_UART_WRITE_BYTE_HELPURL="",sF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 写入单字节 %2",sF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="参数取值为 0~255 整数\n将字节写入总线。\n返回值写入或 None 超时的字节数。",sF.MPYTHON_UART_WRITE_BYTES_HELPURL="",sF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 写入字节数组 %2",sF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="将字节数组写入总线。\n返回值写入或 None 超时的字节数。",sF.MPYTHON_BAUDRATE_HELPURL="",sF.MPYTHON_BAUDRATE_MESSAGE0="%1",sF.MPYTHON_BAUDRATE_TOOLTIP="",sF.MPYTHON_HIGH_LOW_HELPURL="",sF.MPYTHON_HIGH_LOW_MESSAGE0="%1",sF.MPYTHON_HIGH_LOW_TOOLTIP="",sF.MPYTHON_TEN_CONVERT_TO_HELPURL="",sF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10进制整数 %1 转化为 %2 字符串",sF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",sF.MPYTHON_BIN="二进制",sF.MPYTHON_OCT="八进制",sF.MPYTHON_HEX="十六进制",sF.MPYTHON_CONVERT_TO_TEN_HELPURL="",sF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 转 10进制整数",sF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10进制整数 %2 转 %1 字节",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",sF.MPYTHON_INT_TO_CHR_HELPURL="",sF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 转 ASCII 单字符",sF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII基于拉丁字母的一套电脑编码系统主要用于显示现代英语和其他西欧语言。",sF.MPYTHON_CHR_TO_INT_HELPURL="",sF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 单字符 %1 转 整型",sF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII是基于拉丁字母的一套电脑编码系统主要用于显示现代英语和其他西欧语言。",sF.MPYTHON_STR_TO_HEX_HELPURL="",sF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 转 十六进制 字节",sF.MPYTHON_STR_TO_HEX_TOOLTIP="返回结果中用空格分隔两个十六进制数",sF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",sF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六进制字符串 %1 转 二进制 字节",sF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",sF.MPYTHON_DATA_TO_BASE64_HELPURL="",sF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式编码 返回字节对象",sF.MPYTHON_DATA_TO_BASE64_TOOLTIP="Base64编码是从二进制到字符的过程",sF.MPYTHON_BASE64_TO_DATA_HELPURL="",sF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解码 base64 数据 %1 返回字节对象",sF.MPYTHON_BASE64_TO_DATA_TOOLTIP="Base64编码是从二进制到字符的过程",sF.MPYTHON_UJSON_DUMPS_HELPURL="",sF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 转 json 字符串",sF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必须是字符串value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none",sF.MPYTHON_UJSON_LOADS_HELPURL="",sF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",sF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必须是字符串value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none",sF.MPYTHON_CUSTOM_CODE_HELPURL="",sF.MPYTHON_CUSTOM_CODE_TOOLTIP="",sF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",sF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",sF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",sF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定义返回值 %1",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定义终端部件 Terminal 虚拟管脚 V %1",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虚拟管脚的状态 V %1",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",sF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",sF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="当 Blynk 断开连接时",sF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",sF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",sF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="当 Blynk 连接时",sF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",sF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",sF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="运行 Blynk 定时器进程",sF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",sF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",sF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定时器",sF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",sF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",sF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定时器 %1",sF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定时器序号为自动获取自上而下从0开始且连续不可"定时器0定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',sF.MPYTHON_UART_INPUT_HELPURL="",sF.MPYTHON_UART_INPUT_MESSAGE0="从串口获取文本 提示语句 %1",sF.MPYTHON_UART_INPUT_TOOLTIP="",sF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",sF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="给虚拟管脚添加 属性 %1 值 %2",sF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放于 read 或 write 事件中,虚拟管脚由事件决定,与该管脚绑定的组件会拥有添加的属性",sF.MPYTHON_BLYNK_EMAIL_HELPURL="",sF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向预设邮箱发邮件 %1 主题 %2 正文 %3",sF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",sF.MPYTHON_BLYNK_RUN_HELPURL="",sF.MPYTHON_BLYNK_RUN_MESSAGE0="运行 Blynk 进程",sF.MPYTHON_BLYNK_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",sF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",sF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 显示通知 %1",sF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",sF.MPYTHON_BLYNKTIMER_HELPURL="",sF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定时器 %1 %2 周期 %3 秒",sF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定时器序号为自动获取自上而下从0开始且连续不可"定时器0定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="发送数据 %1 到 Blynk APP 的 虚拟管脚 V %2",sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虚拟管脚V0 ~ V255",sF.MPYTHON_BLYNK_SETUP_HELPURL="",sF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 设置 %1 服务器 %2 端口 %3 授权码 %4",sF.MPYTHON_BLYNK_SETUP_TOOLTIP="服务器可填 blynk-cloud.com官网 或者 blynk.mpython.cn国内\n默认端口为 8080\n注意手机APP访问端口为 9443",sF.MPYTHON_BLYNK_APP_DATA_HELPURL="",sF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="当 从 Blynk APP 收到 虚拟管脚 V %1 的值 %2",sF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虚拟管脚V0 ~ V255",sF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="当 收到 Blynk 虚拟管脚 V %1 的值",sF.MPYTHON_BLYNK_VALUE_MESSAGE0="从 Blynk 收到的值",sF.MPYTHON_BLYNK_VALUE_TOOLTIP="",sF.MPYTHON_BLYNK_VALUE_HELPURL="",sF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 断开连接",sF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",sF.MPYTHON_ONENET_DISCONNECT_HELPURL="",sF.MPYTHON_ONENET_MSG_MESSAGE0="从 OneNET 收到的消息",sF.MPYTHON_ONENET_MSG_TOOLTIP="",sF.MPYTHON_ONENET_MSG_HELPURL="",sF.MPYTHON_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 %1 时",sF.MPYTHON3_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 时",sF.MPYTHON_ONENET_RECV_TOOLTIP="",sF.MPYTHON_ONENET_RECV_HELPURL="",sF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="当 从 OneNET 收到特定消息 %1 时",sF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",sF.MPYTHON_ONENET_RECV_MSG_HELPURL="",sF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 发送数据流 名称 %1 值 %2",sF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",sF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",sF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 发送数据流 %1",sF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",sF.MPYTHON_ONENET_PUB_DICT_HELPURL="",sF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 发送数据流 名称 %1 值 %2",sF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",sF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",sF.INT_TO_CHR_HELPURL="",sF.INT_TO_CHR_MESSAGE0="整数 %1 转 ASCII 单字符",sF.INT_TO_CHR_TOOLTIP="",sF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",sF.MPYTHON_ONENET="OneNET 设置",sF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",sF.MPYTHON_ONENET_OPTION_BOARDS="可选掌控板",sF.MPYTHON_ONENET_TITLE="OneNET",sF.MPYTHON_SERVER="服务器",sF.MPYTHON_DEVICE_ID="设备ID",sF.MPYTHON_PRODUCT_ID="产品ID",sF.MPYTHON_API_KEY="产品APIKey",sF.MPYTHON_ONENET_CALLBACK="回调函数",sF.MPYTHON_TOPIC="主题",sF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回调函数",sF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",sF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 选择掌控板应用 %1",sF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",sF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超声波距离 测量单位 %2",sF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",sF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超声波(mm)",sF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",sF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超声波初始化 名称 %1 trigger %2 echo %3",sF.MPYTHON_HCSR04_OBJ_TOOLTIP="",sF.MPYTHON_PM2_5_MIC_HELPURL="",sF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值浓度%2",sF.MPYTHON_PM2_5_MIC_TOOLTIP="",sF.MPYTHON_PM2_5_LitresAir_HELPURL="",sF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1升空气中直径在%2 颗粒物个数",sF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",sF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="当 红外接收端 %1 收到消息时 %2 执行 %3",sF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="红外回调地址",sF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="红外接收内容",sF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="红外接收 %1 回调地址 %2 回调命令 %3",sF.MPYTHON_IR_REMOTE_RECV_HELPURL="",sF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",sF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="红外发送 %1 地址 %2 命令 %3",sF.MPYTHON_IR_REMOTE_SEND_HELPURL="",sF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",sF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",sF.TEXT_FORMAT_TOOLTIP="",sF.TEXT_FORMAT_HELPURL="",sF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",sF.TEXT_FORMAT2_TOOLTIP="",sF.TEXT_FORMAT2_HELPURL="",sF.TEXT_TO_BYTE_MESSAGE0="转字节 %1",sF.TEXT_TO_BYTE_TOOLTIP="支持数据类型string",sF.TEXT_TO_BYTE_HELPURL="",sF.MPYTHON_BYTES_DECODE_HELPURL="",sF.MPYTHON_BYTES_DECODE_MESSAGE0="字节 %1 转 字符串",sF.MPYTHON_BYTES_DECODE_TOOLTIP="",sF.OTHER_TO_BYTE_MESSAGE0="非文本转字节 %1",sF.OTHER_TO_BYTE_TOOLTIP="",sF.OTHER_TO_BYTE_HELPURL="",sF.MPYTHON_ONENET_TOOLTIP="创建OneNET连接",sF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物联网 确保连接到 Wi-Fi 名称 %1 密码 %2",sF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",sF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="当从小程序收到 %1 和 %2 时",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",sF.MPYTHON_MAC_ADDRESS_HELPURL="",sF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",sF.MPYTHON_MAC_ADDRESS_TOOLTIP="",sF.MPYTHON_RADIO_REC_HELPURL="",sF.MPYTHON_RADIO_REC_MESSAGE0="无线广播 接收消息",sF.MPYTHON_RADIO_REC_TOOLTIP="所接收为字节型",sF.MPYTHON_RADIO_SEND_HELPURL="",sF.MPYTHON_RADIO_SEND_MESSAGE0="无线广播 发送 %1",sF.MPYTHON_RADIO_SEND_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_CHANNEL_HELPURL="",sF.MPYTHON_RADIO_CHANNEL_MESSAGE0="设无线广播 频道为 %1",sF.MPYTHON_RADIO_CHANNEL_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_ON_OFF_HELPURL="",sF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 无线广播",sF.MPYTHON_RADIO_ON_OFF_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_MSG_MESSAGE0="收到的无线广播消息",sF.MPYTHON_RADIO_MSG_TOOLTIP="",sF.MPYTHON_RADIO_MSG_HELPURL="",sF.MPYTHON3_RADIO_RECV_MESSAGE0="当 收到无线广播消息 时 %1 执行 %2",sF.MPYTHON_RADIO_RECV_MESSAGE0="当 收到无线广播消息 %1 时",sF.MPYTHON_RADIO_RECV_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_RECV_HELPURL="",sF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="当 收到特定无线广播消息 %1 时 %2 执行 %3",sF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_RECV_MSG_HELPURL="",sF.MPYTHON_UDP_INIT_HELPURL="",sF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 连接",sF.MPYTHON_UDP_INIT_TOOLTIP="UDP连接基于Wi-Fi",sF.MPYTHON_UDP_SEND_HELPURL="",sF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群发消息 %1",sF.MPYTHON_UDP_SEND_TOOLTIP="",sF.MPYTHON_UDP_SENDTO_HELPURL="",sF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 发送消息 %1 到 %2 端口 %3",sF.MPYTHON_UDP_SENDTO_TOOLTIP="",sF.MPYTHON_UDP_RECV_HELPURL="",sF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",sF.MPYTHON_UDP_RECV_TOOLTIP="",sF.MPYTHON_UDP_RECV_EVENT_HELPURL="",sF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="当从 UDP 收到消息时 %1 执行 %2",sF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",sF.MPYTHON_UDP_RECV_MSG_MESSAGE0="从 UDP 收到的消息",sF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",sF.MPYTHON_UDP_RECV_MSG_HELPURL="",sF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鸟叫",sF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="钢琴黑暗旋律配乐",sF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="猫叫",sF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",sF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="浑厚的打击音",sF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="紧张效果的音效",sF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快门声",sF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="数百只苍蝇",sF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫声",sF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="摇晃低音声线",sF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="听众欢呼掌声",sF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="邮轮汽笛",sF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="现代电话铃声",sF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔萝卜",sF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="两只老虎",sF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",sF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="设音频音量 %1",sF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",sF.MPYTHON_DISPCHAR_MODE_1="普通",sF.MPYTHON_DISPCHAR_MODE_2="反转",sF.MPYTHON_DISPCHAR_MODE_3="透明",sF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",sF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 语音播放 %1",sF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 讯飞开放平台 www.xfyun.cn 上开通“在线语音合成”服务",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 语音配置 APPID %1 APIKey %2",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="输入在 讯飞开放平台 www.xfyun.cn 获取的 APPID 与 APIKey\n注意要设置IP白名单",sF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",sF.MPYTHON_AUDIO_PLAY_MESSAGE0="音频 播放 %1",sF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",sF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",sF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音频 播放 %1",sF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",sF.MPYTHON_AUDIO_DEINIT_HELPURL="",sF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音频 释放缓存",sF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",sF.MPYTHON_AUDIO_INIT_HELPURL="",sF.MPYTHON_AUDIO_INIT_MESSAGE0="音频 初始化",sF.MPYTHON_AUDIO_INIT_TOOLTIP="为音频解码开辟缓存",sF.MPYTHON_AUDIO_CMD_HELPURL="",sF.MPYTHON_AUDIO_CMD_MESSAGE0="音频 %1",sF.MPYTHON_AUDIO_CMD_TOOLTIP="",sF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",sF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="开始录音 录音时长%1秒",sF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。录音时长不能超过5秒",sF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",sF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="录音结果",sF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",sF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="将 %1 进行识别",sF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="识别录音结果",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_INIT_HELPURL="",sF.MPYTHON_RECORD_INIT_MESSAGE0="录音 初始化",sF.MPYTHON_RECORD_INIT_TOOLTIP="录音初始化。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_DEINIT_HELPURL="",sF.MPYTHON_RECORD_DEINIT_MESSAGE0="录音 释放资源",sF.MPYTHON_RECORD_DEINIT_TOOLTIP="录音结束后释放资源。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_WAV_HELPURL="",sF.MPYTHON_RECORD_WAV_MESSAGE0="录制音频 存储路径 %1 时长 %2 秒",sF.MPYTHON_RECORD_WAV_TOOLTIP="录制音频,并以 WAV 格式存储。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_ASR_HELPURL="",sF.MPYTHON_ASR_MESSAGE0="识别 %1 秒语音指令",sF.MPYTHON_ASR_TOOLTIP="可以识别3秒内的语音指令。\n需要掌控板v1.1以上硬件版本。",sF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_button_A="P5按键A",sF.mpython_button_B="P11按键B",sF.mpython_PIN7_RGB="P7板载RGB",sF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",sF.MPYTHON_PWM_PIN_P9="P9 (掌控实验箱)",sF.mpython_tem="温度",sF.mpython_hum="湿度",sF.mpython_pre="气压",sF.mpython_left_right="左右",sF.MPYTHON_LEFT="左",sF.MPYTHON_RIGHT="右",sF.mpython_front_back="前后",sF.mpython_vertical="垂直",sF.mpython_horizontal="水平",sF.mpython_run_in_back="后台运行",sF.mpython_run_in_front="前台运行",sF.mpython_draw="绘制",sF.mpython_clear="清除",sF.mpython_s="秒",sF.mpython_ms="毫秒",sF.mpython_us="微秒",sF.mpython_year="年",sF.mpython_month="月",sF.mpython_date="日",sF.mpython_hour="时",sF.mpython_minute="分",sF.mpython_week="星期数",sF.mpython_days="天数",sF.MPYTHON_ORDER="第",sF.MPYTHON_REVERSE_ORDER="倒数第",sF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定递增基数集合中的一个随机数基数缺省值为1",sF.MATH_RANDOM_RANDRANGE_MESSAGE0="随机数 从递增区间 [%1 ,%2) 递增步长%3",sF.MATH_KEEP_DECIMAL_HELPURL="",sF.MATH_KEEP_DECIMAL_TOOLTIP="",sF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小数",sF.MPYTHON_MIN="最小值",sF.MPYTHON_MAX="最大值",sF.MPYTHON_LENTH="长度",sF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_MIN_MAX_LEN_TOOLTIP="",sF.TUPLE_MIN_MAX_LEN_MESSAGE0="元组 %1 %2",sF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_ITEM_EXIST_TOOLTIP="",sF.TUPLE_ITEM_EXIST_MESSAGE0="元组%1 包含%2",sF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_ITEM_EXIST_TOOLTIP="",sF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",sF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_TUPLE_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.PARTS_OF_TUPLE_MESSAGE0="返回元组%1 取第%2 项到尾项",sF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_TUPLE2_TOOLTIP="递增顺序取项\n举例\n 倒数第5到倒数第2\n 第0到第5",sF.PARTS_OF_TUPLE2_MESSAGE0="返回元组%1 取%2 %3 项到 %4 %5 项",sF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_LIST_TOOLTIP="递增顺序取项\n举例\n 倒数第5到倒数第2\n 第0到第5",sF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 项到 %4 %5 项",sF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_TO_TUPLE_TOOLTIP="",sF.LIST_TO_TUPLE_MESSAGE0="列表%1 转元组",sF.tuple_create_with_MESSAGE0="定义元组 %1 = %2 ",sF.tuple_create_with_TOOLTIP="只包含一个元素时,需要在元素后面添加逗号",sF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.tuple_order_item_MESSAGE0="元组%1 %2 %3 项",sF.tuple_order_item_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 项",sF.LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_LIST_ORDER_ITEM_MESSAGE0="设列表%1 %2 %3 项为%4",sF.SET_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 项为%4",sF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_TUPLE_ORDER_ITEM_MESSAGE0="设元组%1 %2 %3 项为%4",sF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_TOOLTIP="",sF.DICT_CREATE_WITH_MESSAGE0="定义字典 %1 = %2",sF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_CREATE_WITH_TOOLTIP="",sF.SET_CREATE_WITH_MESSAGE0="定义集合 %1 = %2",sF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_UPDATE_WITH_TOOLTIP="添加参数可为字符串、列表、元组、集合、字典只添加key已有元素则不进行操作",sF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",sF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.INTERSECTION_OF_SETS_TOOLTIP="",sF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",sF.MPYTHON_INTERSECTION="交集",sF.MPYTHON_UNION="并集",sF.MPYTHON_DIFFERENCE="差集",sF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SETS_UPDATE_WAYS_TOOLTIP="",sF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新为 与集合 %2 的 %3",sF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SUBSET_SUPERSET_TOOLTIP="",sF.SUBSET_SUPERSET_MESSAGE0="集合 %1 为集合 %2 的 %3",sF.MPYTHON_SUBSET="子集",sF.MPYTHON_SUPERSET="超集",sF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LEN_OF_SETS_TOOLTIP="",sF.LEN_OF_SETS_MESSAGE0="集合 %1 长度",sF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.GET_SETS_POP_TOOLTIP="",sF.GET_SETS_POP_MESSAGE0="返回随机项并移除之 从集合 %1",sF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.CREATE_EMPTY_SET_TOOLTIP="",sF.CREATE_EMPTY_SET_MESSAGE0="创建空集合 %1",sF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.BIT_INVERSION_TOOLTIP="对数据的每个二进制位取反",sF.BIT_INVERSION_MESSAGE0="二进制取反 %1",sF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="项可为字符串、已创建变量变量、元组",sF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始倒序计数从1开始",sF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_VALUE_TOOLTIP="",sF.DICT_KEY_VALUE_MESSAGE0="字典%1 键%2 的值",sF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.ADD_DICT_KEY_VALUE_TOOLTIP="已有该键则更新该键",sF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加键%2 值%3",sF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_LENGTH_TOOLTIP="",sF.DICT_LENGTH_MESSAGE0="字典%1 长度",sF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_EXIST_TOOLTIP="",sF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含键%2",sF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",sF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",sF.DICT_KEYS="键",sF.DICT_VALUES="值",sF.mpython_lists_append_MESSAGE0="列表%1 末尾添加项%2",sF.mpython_lists_append_TOOLTIP="",sF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",sF.mpython_lists_extend_TOOLTIP="",sF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_lists_clear_MESSAGE0="列表%1 清空",sF.mpython_lists_clear_TOOLTIP="",sF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重复",sF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",sF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_Timer_value_MESSAGE0="定时器 %1 的计数值",sF.mpython_Timer_value_TOOLTIP="获取并返回计时器当前计数值",sF.mpython_Timer_deinit_MESSAGE0="清除 定时器/事件 %1",sF.mpython_Timer_deinit_TOOLTIP="取消定时器的初始化。停止计时器,并禁用计时器外围设备",sF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",sF.mpython_Interrupt_AB_TOOLTIP="",sF.mpython_Interrupt_AB_MESSAGE0="当按键 %1 被 %2 时",sF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",sF.mpython_Interrupt_pin_TOOLTIP="上升沿触发:由低电平到高电平;下降沿触发:由高电平到低电平",sF.mpython_Interrupt_pin_MESSAGE0="当引脚 %1 电平 %2 时",sF.mpython_Interrupt_pin_IRQ_FALLING="↘ 从高到低",sF.mpython_Interrupt_pin_IRQ_RISING="↗ 从低到高",sF.mpython_IRQ_FALLING="按下",sF.mpython_IRQ_RISING="松开",sF.mpython_PERIODIC="重复执行",sF.mpython_ONE_SHOT="延时执行",sF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",sF.MPYTHON_IS_SHAKED_HELPURL="",sF.MPYTHON_IS_SHAKED_TOOLTIP="",sF.MPYTHON_IS_SHAKED="被摇晃",sF.MPYTHON_IS_THROWN="被抛起",sF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="当掌控板 %1 时",sF.MPYTHON_SHAKE_DETECTOR_HELPURL="",sF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",sF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",sF.MPYTHON_IS_TILTED_HELPURL="",sF.MPYTHON_IS_TILTED_TOOLTIP="",sF.MPYTHON_TILT_DETECTOR_MESSAGE0="当掌控板 %1 时",sF.MPYTHON_TILT_DETECTOR_HELPURL="",sF.MPYTHON_TILT_DETECTOR_TOOLTIP="",sF.MPYTHON_DIRECTION_FORWARD="向前倾斜",sF.MPYTHON_DIRECTION_BACK="向后倾斜",sF.MPYTHON_DIRECTION_RIGHT="向右倾斜",sF.MPYTHON_DIRECTION_LEFT="向左倾斜",sF.MPYTHON_DIRECTION_NONE="平放",sF.MPYTHON_TOUCH_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",sF.MPYTHON_TOUCH_EVENT_HELPURL="",sF.MPYTHON_TOUCH_EVENT_TOOLTIP="",sF.MPYTHON_TOUCH_EVENT_PRESSED="触摸",sF.MPYTHON_TOUCH_EVENT_UNPRESSED="释放",sF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 当 %2 时",sF.MPYTHON_CUSTOM_EVENT_HELPURL="",sF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定义事件与定时器共用 1/2/4/7/8/9/10不可同时占用一个端口。\n最大同时创建4个事件/定时器,如果存在冲突,请尝试换一个编号。",sF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_music_range_pitch_TOOLTIP="时长为单个频率的时长",sF.mpython_music_range_pitch_MESSAGE0="播放音调 从%1 到%2 步长%3 时长%4 毫秒 引脚 %5",sF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_neopixel_init_TOOLTIP="",sF.mpython_neopixel_init_MESSAGE0="灯带初始化 名称%1 引脚%2 数量%3",sF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",sF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹灯效 灯带%1 数量 %2 亮度 %3 偏移 %4",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度调节, 范围 0 ~ 100",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="灯带 %1 设置亮度为 %2",sF.mpython_neopixel_single_TOOLTIP="",sF.mpython_neopixel_single_MESSAGE0="灯带%1 %2号 红%3 绿%4 蓝%5",sF.mpython_neopixel_single_gui_MESSAGE0="灯带 %1 %2号 颜色为 %3",sF.mpython_neopixel_single_gui_TOOLTIP="",sF.mpython_neopixel_show_TOOLTIP="",sF.mpython_neopixel_show_MESSAGE0="灯带%1 设置生效",sF.mpython_neopixel_off_TOOLTIP="",sF.mpython_neopixel_off_MESSAGE0="灯带%1 关闭",sF.mpython_neopixel_all_TOOLTIP="",sF.mpython_neopixel_all_MESSAGE0="灯带%1 全亮 红%2 绿%3 蓝%4",sF.mpython_neopixel_all_gui_TOOLTIP="",sF.mpython_neopixel_all_gui_MESSAGE0="灯带%1 全亮 颜色%2",sF.mpython_image_to_oled_MESSAGE0="打开图片 %1 宽 %2 高 %3",sF.mpython_image_to_oled_TOOLTIP="",sF.mpython_time_localtime_MESSAGE0="本地时间 %1",sF.mpython_time_localtime_TOOLTIP="星期数返回06周一为0周日为6\n天数获取当前日期是一年中的第几天\n建议先连接wifi并获取网络时间",sF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",sF.mpython_WiFi_config_TOOLTIP="netmask-子网掩码gateway-网关",sF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_time_ticks_MESSAGE0="运行时间 %1",sF.mpython_time_ticks_TOOLTIP="",sF.MPYTHON_TIMER_DEF_MESSAGE0="定义定时器 %1",sF.MPYTHON_TIMER_INIT_MESSAGE0="启动定时器 %1 %2 周期 %3 毫秒",sF.mpython_Timer_MESSAGE0="设置定时器 %1 %2 周期 %3 毫秒",sF.mpython_Timer_TOOLTIP="创建定时器nn=1-14。\n最大同时创建4个定时器如果存在冲突请尝试换一个编号。\n3用于内部程序\n5/6用于伺服系统和ADC\n11用于摇晃检测\n12用于触摸键检测\n13用于Radio和DHT11/DHT22定时取值共用\n14用于OneNET和倾斜检测共用\n其余端口与自定义事件共用。",sF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",sF.mpython_sway_xyz_MESSAGE0="%1 摇晃掌控板",sF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,触摸键 'python' 靠近使用者,开始左右或前后摇晃掌控板",sF.mpython_init_bluetooth_MESSAGE0="初始化 蓝牙名称%1",sF.mpython_init_bluetooth_TOOLTIP="初始化 蓝牙名称",sF.mpython_OnOff_bluetooth_MESSAGE0="蓝牙设备 %1广播",sF.mpython_OnOff_bluetooth_TOOLTIP="蓝牙设备 开启或关闭广播",sF.mpython_HID_keyboard_bluetooth_MESSAGE0="键盘 按键%1",sF.mpython_HID_keyboard_bluetooth_TOOLTIP="HID键盘设备",sF.mpython_HID_consumer_bluetooth_MESSAGE0="消费类设备%1 状态%2",sF.mpython_HID_consumer_bluetooth_TOOLTIP="模拟HID消费类设备的控制器如蓝牙遥控器",sF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="键盘 释放按键",sF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="键盘设备",sF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠标%1",sF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠标设备",sF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠标 释放按键",sF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠标设备",sF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="鼠标 指针移动 x%2 y%1",sF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标指针坐标x,y轴的相对位移,范围-1023 ~ 1023",sF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="键盘 按键%1 组合按键%2",sF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",sF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="键盘 组合按键%1",sF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",sF.mpython_HID_keyboard_part_bluetooth_HELPURL="",sF.mpython_init_wifi_MESSAGE0="连接 Wi-Fi 名称 %1 密码 %2",sF.mpython_init_wifi_TOOLTIP="让掌控板接入Wi-Fi环境",sF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 设置静态IP %1 IP 地址 %2 子网掩码 %3 默认网关 %4 DNS %5",sF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",sF.MPYTHON_WIFI_IFCONFIG_HELPURL="",sF.mpython_dis_WiFi_MESSAGE0="断开 Wi-Fi 连接",sF.mpython_dis_WiFi_TOOLTIP="",sF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",sF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密码可以为空或者8位以上的字母或数字。\nAP模式仅用于掌控板之间的相互通信不可以作为热点令其它设备上网。",sF.MPYTHON_ENABLE_APWIFI_MESSAGE0="开启 AP模式 名称 %1 密码 %2 信道 %3",sF.mpython_disable_APWiFi_MESSAGE0="关闭 AP模式",sF.mpython_disable_APWiFi_TOOLTIP="",sF.mpython_ntptime_settime_MESSAGE0="同步网络时间 时区 %1 授时服务器 %2",sF.mpython_ntptime_settime_TOOLTIP="NTP时间同步是一种时间同步网络技术",sF.mpython_wifi_get_date_MESSAGE0="获取当前日期",sF.mpython_wifi_get_date_TOOLTIP="获取当前日期字符串 示例2020年12月12日",sF.mpython_wifi_get_time_MESSAGE0="获取当前时间",sF.mpython_wifi_get_time_TOOLTIP="获取当前时间字符串",sF.mpython_ntptime_timezone_E1="东1区",sF.mpython_ntptime_timezone_E2="东2区",sF.mpython_ntptime_timezone_E3="东3区",sF.mpython_ntptime_timezone_E4="东4区",sF.mpython_ntptime_timezone_E5="东5区",sF.mpython_ntptime_timezone_E6="东6区",sF.mpython_ntptime_timezone_E7="东7区",sF.mpython_ntptime_timezone_E8="东8区",sF.mpython_ntptime_timezone_E9="东9区",sF.mpython_ntptime_timezone_E10="东10区",sF.mpython_ntptime_timezone_E11="东11区",sF.mpython_ntptime_timezone_E12="东12区",sF.mpython_ntptime_timezone_0="中时区",sF.mpython_ntptime_timezone_W1="西1区",sF.mpython_ntptime_timezone_W2="西2区",sF.mpython_ntptime_timezone_W3="西3区",sF.mpython_ntptime_timezone_W4="西4区",sF.mpython_ntptime_timezone_W5="西5区",sF.mpython_ntptime_timezone_W6="西6区",sF.mpython_ntptime_timezone_W7="西7区",sF.mpython_ntptime_timezone_W8="西8区",sF.mpython_ntptime_timezone_W9="西9区",sF.mpython_ntptime_timezone_W10="西10区",sF.mpython_ntptime_timezone_W11="西11区",sF.mpython_ntptime_timezone_W12="西12区",sF.FILE_TO_LIST_HELPURL="",sF.FILE_TO_LIST_TOOLTIP="读出指定路径的文本文件内容仅限utf-8格式并转为列表形式以分隔符分隔。",sF.FILE_TO_LIST_MESSAGE0="读取文本文件 %1 为列表 ,以 %2 分隔",sF.FILE_TO_BIN_HELPURL="",sF.FILE_TO_BIN_TOOLTIP="以二进制格式读出指定路径的文件内容。";sF.FILE_TO_BIN_MESSAGE0="读取文件 %1 的二进制内容",sF.MPYTHON_INIT_FILE_HELPURL="",sF.MPYTHON_INIT_FILE_TOOLTIP="初始化一个文本文件,如果文件不存在则创建文件,如果文件存在则清空内容。",sF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",sF.MPYTHON_WRITE_FILE_HELPURL="",sF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路径的文本文件写入内容,如果文件不存在则创建文件。",sF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 写入内容 %2 ,以 %3 分隔",sF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",sF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n须确保 SPI 总线的引脚与 micro SD 卡物理连接正确,并预先使用 FAT 或 FAT32 文件系统格式化 micro SD 卡。",sF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",sF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",sF.MPYTHON_SDCARD_MOUNT_TOOLTIP="挂载 SD 卡到指定路径。",sF.MPYTHON_SDCARD_MOUNT_MESSAGE0="挂载 SD 卡到路径 %1",sF.MPYTHON_ENTER="回车",sF.MPYTHON_COMMA="逗号",sF.MPYTHON_SEMICOLON="分号",sF.MPYTHON_SPACE="空格",sF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模拟时钟 x %1 y %2 半径 %3",sF.mpython_wifi_clock_TOOLTIP="需连接 Wi-Fi 使用",sF.mpython_def_clock_MESSAGE0="初始化时钟%1 x %2 y %3 半径 %4",sF.mpython_def_clock_TOOLTIP="",sF.mpython_settime_clock_MESSAGE0="时钟%1 读取时间",sF.mpython_settime_clock_TOOLTIP="",sF.mpython_draw_clear_clock_MESSAGE0="%1 时钟 %2",sF.mpython_draw_clear_clock_TOOLTIP="",sF.mpython_tinywebio_start_MESSAGE0="启动 TinyWebIO 服务 %1",sF.mpython_tinywebio_start_TOOLTIP="启动该服务需连接Wi-FiTinyWebIO服务为App Inventor应用提供远程控制接口的掌控板工具包",sF.mpython_tinywebio_client_setup_HELPURL="",sF.mpython_tinywebio_client_setup_TOOLTIP="向服务器发布的数据项(逗号分隔)\nbuttona/b 按键状态\ntouchpadp/y/t/h/o/n 触摸按键值\nlight 光线值\nsound 声音值\naccelerometer 三轴加速度值\nid 掌控板标识\ntime 时间戳\npind<n> 数字IO引脚\npina<n> 模拟IO引脚\n----------\n从服务器读取的数据项(逗号分隔)\nrgb0/1/2 RGB灯珠\noled OLED显示屏\nmusic 音乐\nservo<n> 舵机\npind<n> 数字IO引脚\npina<n> 模拟IO引脚",sF.mpython_tinywebio_client_setup_MESSAGE0="设置 TinyWebIO 客户端参数 %1 TinyWebDB服务器地址 %2 向服务器发布的数据项 %3 从服务器读取的数据项 %4 存取服务器的时间间隔(ms) %5",sF.mpython_tinywebio_client_action_HELPURL="",sF.mpython_tinywebio_client_action_TOOLTIP="",sF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客户端",sF.mpython_tinywebio_client_action_start="启动",sF.mpython_tinywebio_client_action_stop="停止",sF.MPYTHON_CUSTOM_CODE_HELPURL="",sF.MPYTHON_CUSTOM_CODE_TOOLTIP="",sF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",sF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",sF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",sF.mpython_servo_angle0_MESSAGE0="设置舵机 %1 角度为 %2",sF.mpython_servo_angle_MESSAGE0="设置舵机 %1 角度为 %2 脉宽从 %3 到 %4 最大角度 %5",sF.mpython_servo_angle_TOOLTIP="电源线Vcc红色连接拓展板电源口V地线GND(棕色)连接拓展板地线口G控制信号线(橙色)连接所选的拓展板引脚",sF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",sF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",sF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 连接拓展板的电源口 V - 连接拓展板的地线口 G out 连接拓展板的引脚 0(即选引脚)",sF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",sF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",sF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",sF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",sF.mpython_music_note_TOOLTIP="音符如C4:4",sF.mpython_return_list_MESSAGE0="定义列表 %1 = %2",sF.mpython_return_list_TOOLTIP="",sF.mpython_display_Show_MESSAGE0="OLED 显示生效",sF.mpython_display_Show_TOOLTIP="",sF.mpython_display_DispChar_MESSAGE0="显示文本 x %1 y %2 内容 %3 模式 %4 %5",sF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",sF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",sF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行显示 %2 模式 %3 %4",sF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",sF.mpython_line1="1",sF.mpython_line2="2",sF.mpython_line3="3",sF.mpython_line4="4",sF.mpython_line5="5",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="",sF.mpython_display_fill_0="清空",sF.mpython_display_fill_1="全亮",sF.mpython_display_invert_0="黑底",sF.mpython_display_invert_1="白底",sF.mpython_display_show="生效",sF.mpython_display_fill_MESSAGE0="OLED 显示 %1",sF.mpython_display_fill_TOOLTIP="",sF.mpython_display_pixel_0="暗",sF.mpython_display_pixel_1="亮",sF.mpython_display_pixel_MESSAGE0="描点 x %1 y %2 为 %3",sF.mpython_display_pixel_TOOLTIP="",sF.mpython_display_hline_0="擦除",sF.mpython_display_hline_1="绘制",sF.mpython_display_hline_MESSAGE0="%1 水平线%2 x%3 y%4 长度%5",sF.mpython_display_hline_TOOLTIP="",sF.mpython_ProgressBar_MESSAGE0="进度条%1 x%2 y%3 宽%4 高%5 进度%6",sF.mpython_ProgressBar_TOOLTIP="",sF.mpython_stripBar_MESSAGE0="柱状条%1 x%2 y%3 宽%4 高%5 进度%6",sF.mpython_stripBar_TOOLTIP="",sF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",sF.MPYTHON_QR_CODE_TOOLTIP="",sF.MPYTHON_QR_CODE_MESSAGE0="在坐标 x %1 y %2 绘制二维码 %3 尺寸 %4",sF.MPYTHON_DISPLAY_MODE_0="擦除",sF.MPYTHON_DISPLAY_MODE_1="绘制",sF.MPYTHON_DISPLAY_HOLLOW="空心",sF.MPYTHON_DISPLAY_SOLID="实心",sF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 线 %3 x %4 y %5 长度 %6",sF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 宽 %6 高 %7",sF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圆 %3 x %4 y %5 半径 %6",sF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",sF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",sF.MPYTHON_RGB_0="0 #",sF.MPYTHON_RGB_1="1 #",sF.MPYTHON_RGB_2="2 #",sF.MPYTHON_RGB_ALL="所有",sF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="设置 %1 RGB 灯颜色为 %2",sF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="设置 %1 RGB 灯颜色为 R %2 G %3 B %4",sF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.MPYTHON_OFF_RGB_LIST_MESSAGE0="关闭 %1 RGB 灯",sF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",sF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音乐 %1 引脚 %2",sF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放内置的音乐",sF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音乐 %1 直到完成 , 引脚 %2",sF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放内置的音乐",sF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖国",sF.MPYTHON_MUSIC_DONG_FANG_HONG="东方红",sF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩云追月",sF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走进新时代",sF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",sF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小调",sF.mpython_display_vline_MESSAGE0="%1 垂直线%2 x%3 y%4 长度%5",sF.mpython_display_vline_TOOLTIP="",sF.mpython_display_line_MESSAGE0="%1 线%2 x1 %3 y1 %4 到 x2 %5 y2 %6",sF.mpython_display_line_TOOLTIP="",sF.mpython_display_rect_MESSAGE0="%1 边框%2 x %3 y %4 宽 %5 高 %6",sF.mpython_display_rect_TOOLTIP="",sF.mpython_display_RoundRect_MESSAGE0="%1 弧角边框%2 x %3 y %4 宽 %5 高 %6 半径%7",sF.mpython_display_RoundRect_TOOLTIP="",sF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 宽 %5 高 %6 ",sF.mpython_display_fill_rect_TOOLTIP="",sF.mpython_display_fill_circle_MESSAGE0="%1 实心圆%2 x %3 y %4 半径 %5",sF.mpython_display_fill_circle_TOOLTIP="",sF.mpython_display_circle_MESSAGE0="%1 空心圆%2 x %3 y %4 半径 %5",sF.mpython_display_circle_TOOLTIP="",sF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",sF.mpython_display_triangle_TOOLTIP="",sF.mpython_display_fill_triangle_MESSAGE0="%1 实心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",sF.mpython_display_fill_triangle_TOOLTIP="",sF.mpython_display_Bitmap_MESSAGE0="%1 图像 x%2 y%3 宽%4 高%5 16进制图像数据 %6",sF.mpython_display_Bitmap_TOOLTIP="将16进制图像数据显示在OLED屏的指定位置",sF.MPYTHON_GET_PBM_DATA_MESSAGE0="获取内置图像 %1 模式%2",sF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp 格式的单色图像文件,获取指定路径的图像文件数据,返回一个元组对象。",sF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",sF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="获取自定义图像 %1 模式%2",sF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐标 x %1 y %2 显示图像 %3",sF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的单色图像文件",sF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",sF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐标 x %1 y %2 显示图像 %5 宽 %3 高 %4",sF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",sF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",sF.mpython_horizontal="水平",sF.mpython_vertical="垂直",sF.mpython_display_FrameBuffer_MESSAGE0="构建帧 列表 %1 长 %2 宽 %3 扫描模式 %4",sF.mpython_display_FrameBuffer_TOOLTIP="用图像取模后数据的列表 创建128x64的帧缓存区以储存图片帧",sF.MPYTHON_FONT_DIGIFACE_11="仿数码管 11像素",sF.MPYTHON_FONT_DIGIFACE_16="仿数码管 16像素",sF.MPYTHON_FONT_DIGIFACE_21="仿数码管 21像素",sF.MPYTHON_FONT_DIGIFACE_30="仿数码管 30像素",sF.MPYTHON_FONT_DIGIFACE_44="仿数码管 44像素",sF.MPYTHON_FONT_DIGIFACE_IT_30="仿数码管 斜体 30像素",sF.MPYTHON_FONT_DIGIFACE_IT_42="仿数码管 斜体 42像素",sF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",sF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",sF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",sF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑体 12像素",sF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑体 16像素",sF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑体 21像素",sF.MPYTHON_FONT_WRAP="自动换行",sF.MPYTHON_FONT_NO_WRAP="不换行",sF.MPYTHON_FACE_1="心形",sF.MPYTHON_FACE_2="心形(小)",sF.MPYTHON_FACE_3="高兴",sF.MPYTHON_FACE_4="笑脸",sF.MPYTHON_FACE_5="伤心",sF.MPYTHON_FACE_6="困惑",sF.MPYTHON_FACE_7="生气",sF.MPYTHON_FACE_8="睡着",sF.MPYTHON_FACE_9="惊讶",sF.MPYTHON_FACE_10="愚蠢",sF.MPYTHON_FACE_11="极妙",sF.MPYTHON_FACE_12="无聊",sF.MPYTHON_FACE_ROCK="石头",sF.MPYTHON_FACE_PAPER="布",sF.MPYTHON_FACE_SCISSORS="剪刀",sF.MPYTHON_FACE_ROCK_S="石头(小)",sF.MPYTHON_FACE_PAPER_S="布(小)",sF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",sF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐标 x %1 y %2 显示 %3 以 %4 字体 %5",sF.MPYTHON_DISPLAY_FONT_TOOLTIP="",sF.MPYTHON_DISPLAY_FONT_HELPURL="",sF.mpython_front="正向",sF.mpython_reverse="反转",sF.mpython_display_blit_MESSAGE0="显示帧 坐标x %1 y %2",sF.mpython_display_blit_TOOLTIP="",sF.mpython_front_reverse_MESSAGE0="像素点bit %1",sF.mpython_front_reverse_TOOLTIP="用于显示之前",sF.mpython_images_append_MESSAGE0="动图显示 帧数%1 周期%2 长%3 宽%4",sF.mpython_images_append_TOOLTIP="上传至掌控板的pbm图片需命名为IMAGE.数字后缀为pbm。如IMAGE.1.pbm。帧数为7则数字为1至7",sF.mpython_button_is_pressed_MESSAGE0="按键%1 被按下",sF.mpython_button_is_pressed_TOOLTIP="",sF.mpython_button_both_pressed_MESSAGE0="AB按键都按下",sF.mpython_button_both_pressed_TOOLTIP="",sF.mpython_touchPad_value_MESSAGE0="按键%1 被触摸",sF.mpython_touchPad_value_TOOLTIP="",sF.mpython_touchPad_value_num_MESSAGE0="按键%1 触摸值",sF.mpython_touchPad_value_num_TOOLTIP="",sF.mpython_read_digital_MESSAGE0="读取引脚%1 数字值",sF.mpython_read_digital_TOOLTIP="",sF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水温度传感器 引脚 %1",sF.mpython_read_DS18B20_TOOLTIP="",sF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",sF.mpython_set_digital_MESSAGE0="设置引脚 %2 数字值为 %1",sF.mpython_set_digital_TOOLTIP="",sF.mpython_read_analog_MESSAGE0="读取引脚 %1 模拟值",sF.mpython_read_analog_TOOLTIP="",sF.mpython_set_analog_MESSAGE0="设置引脚 %2 模拟值PWM为 %1",sF.mpython_set_analog_TOOLTIP="模拟输出是通过IO引脚输出脉宽调制信号输出指定的电压值简称PWM。",sF.mpython_set_RGB_MESSAGE0="设置 %1 号 RGB 灯颜色为 R %2 G %3 B %4",sF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_color_MESSAGE0="设置 %1 号 RGB 灯颜色为 %2",sF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_all_MESSAGE0="设置所有 RGB 灯颜色为 R %1 G %2 B %3",sF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_color_all_MESSAGE0="设置所有 RGB 灯颜色为 %1",sF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_fresh_RGB_MESSAGE0="RGB 灯设置生效",sF.mpython_fresh_RGB_TOOLTIP="",sF.mpython_off_RGB_MESSAGE0="关闭 RGB 灯",sF.mpython_off_RGB_TOOLTIP="",sF.mpython_buzz_state_MESSAGE0="停止播放音乐",sF.mpython_buzz_state_TOOLTIP="",sF.mpython_buzz_freq_MESSAGE0="播放连续音调 %1 引脚 %2",sF.mpython_buzz_freq_TOOLTIP="",sF.mpython_buzz_tone_MESSAGE0="播放音调 %1",sF.mpython_buzz_tone_TOOLTIP="",sF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",sF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默认是掌控板的P6引脚",sF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",sF.MPYTHON_MUSIC_TONE_HELPURL="",sF.MPYTHON_MUSIC_TONE_TOOLTIP="",sF.MPYTHON_MUSIC_TONE_MESSAGE0="音调 %1",sF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",sF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",sF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 节拍 %2",sF.MPYTHON_MUSIC_TICK_HELPURL="",sF.MPYTHON_MUSIC_TICK_TOOLTIP="",sF.MPYTHON_MUSIC_TICK_MESSAGE0="节拍 %1",sF.MPYTHON_4_LINES_HELPURL="",sF.MPYTHON_4_LINES_TOOLTIP="",sF.MPYTHON_4_LINES_MESSAGE0="%1",sF.NUMBER_1="1",sF.NUMBER_1_2="1/2",sF.NUMBER_1_4="1/4",sF.NUMBER_2="2",sF.NUMBER_4="4",sF.mpython_read_sound_MESSAGE0="声音值",sF.mpython_read_sound_TOOLTIP="",sF.mpython_read_light_MESSAGE0="光线值",sF.mpython_read_light_TOOLTIP="",sF.mpython_accelerometer_get_MESSAGE0="%1 轴加速度",sF.mpython_accelerometer_get_TOOLTIP="",sF.mpython_accelerometer_get_z_MESSAGE0="z轴加速度",sF.mpython_accelerometer_get_z_TOOLTIP="",sF.mpython_accelerometer_get_y_MESSAGE0="y轴加速度",sF.mpython_accelerometer_get_y_TOOLTIP="",sF.mpython_accelerometer_get_x_MESSAGE0="x轴加速度",sF.mpython_accelerometer_get_x_TOOLTIP="",sF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",sF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",sF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",sF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",sF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",sF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",sF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",sF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="设置加速度范围,默认为 ±2g。",sF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="设置加速度范围为 %1",sF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="设置加速度分辨率,默认为 10bits。",sF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="设置加速度分辨率为 %1",sF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校准加速度计的3个轴(x,y,z)的加速值偏差。\n一般情况下无需校准只有遇到加速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1g。\n注意校准数据断电后不会保存。",sF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校准加速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4",sF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 轴 磁力",sF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南针方向",sF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校准指南针",sF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除当前环境磁场",sF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁场强度",sF.MPYTHON_TILT_ANGLE_HELPURL="",sF.MPYTHON_TILT_ANGLE_TOOLTIP="",sF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 轴倾斜角",sF.mpython_random_choice_MESSAGE0="返回随机项%1",sF.mpython_random_choice_TOOLTIP="以String格式返回列表或字符串中的随机项",sF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",sF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 电平持续时间(微秒)",sF.MACHINE_TIME_PULSE_US_TOOLTIP="",sF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",sF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",sF.MPYTHON_I2C_INIT_TOOLTIP="",sF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",sF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",sF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",sF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",sF.MPYTHON_I2C_SCAN_MESSAGE0="%1 扫描地址",sF.MPYTHON_I2C_SCAN_TOOLTIP="返回一个数组对象",sF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",sF.MPYTHON_I2C_DEINIT_MESSAGE0="关闭%1总线",sF.MPYTHON_I2C_DEINIT_TOOLTIP="",sF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_WRITETO_MESSAGE0="从%1 %5 地址%2 写入%3 停止位%4",sF.MPYTHON_I2C_WRITETO_TOOLTIP="地址Number\n写入Number、String",sF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_READFROM_MESSAGE0="从%1 %5 地址%2 读取 字节数%3 停止位%4",sF.MPYTHON_I2C_READFROM_TOOLTIP="地址Number\n返回读取数据的 bytes 对象的字符串",sF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="从%1 %6 地址%2 读入缓存区%3 字节数%4 停止位%5",sF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",sF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 写入%3",sF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址Number\n写入Number、String",sF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 读取 字节数%3",sF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址Number\n返回读取数据的 bytes 对象的字符串",sF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="从%1 %6 地址%2 寄存器%5 读入缓存区%3 字节数%4",sF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址Number\n返回读取数据的 bytes 对象的字符串",sF.mpython_print_MESSAGE0="调试输出 %1",sF.mpython_print_TOOLTIP="通过串口调试,输出字符串",sF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",sF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印数据到图表",sF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印数据到图表",sF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="数据",sF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",sF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="数据内容",sF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",sF.MPYTHON_INIT_CHART_TOOLTIP="",sF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化图表列标题",sF.MPYTHON_INIT_CHART_INPUT_WITH="初始化图表列标题",sF.MPYTHON_INIT_CHART_ITEM_TITLE="标题",sF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",sF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="数据列标题",sF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",sF.MPYTHON_MS="毫秒",sF.MPYTHON_US="微秒",sF.MPYTHON_TIME_DIFFERENCE_HELPURL="",sF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回运行时间差 开始时间 %1 结束时间 %2",sF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",sF.MPYTHON_TYPE_HELPURL="",sF.MPYTHON_TYPE_MESSAGE0="值 %1 的类型",sF.MPYTHON_TYPE_TOOLTIP="",sF.MPYTHON_TYPE_IS_HELPURL="",sF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的类型为 %2",sF.MPYTHON_TYPE_IS_TOOLTIP="",sF.MPYTHON_EVAL_HELPURL="",sF.MPYTHON_EVAL_MESSAGE0="计算表达式 %1 的结果",sF.MPYTHON_EVAL_TOOLTIP="计算字符串表达式,并返回结果",sF.MPYTHON_RETURN_HELPURL="",sF.MPYTHON_RETURN_MESSAGE0="返回 %1",sF.MPYTHON_RETURN_TOOLTIP="",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C数字光线",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",sF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",sF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",sF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元组形式返回所有wifi配置信息",sF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",sF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已连接到 WI-FI",sF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",sF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",sF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi连接 语音助手 Wi-Fi 名称 %1 密码 %2",sF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通过串口把WIF传给语音助手",sF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",sF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在文件系统将文件上传到板。",sF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="读取 语音助手 文本文件 %1",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="数码管显示 %1",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",sF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",sF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空数码管",sF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",sF.MPYTHON_MACHINE_RESET_HELPURL="",sF.MPYTHON_MACHINE_RESET_MESSAGE0="复位",sF.MPYTHON_MACHINE_RESET_TOOLTIP="与按下外部 RESET按键效果一样",sF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",sF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 颜色 %1",sF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 颜色",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 颜色 %1",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色调H饱和度S明度V",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 颜色",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色调H饱和度S明度V",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C电压传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁场传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C电导率传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C气压传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光电门传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 电机速度 %1",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",sF.MPYTHON_M1M2_LED_OFF_HELPURL="",sF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 关灯 %1",sF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",sF.MPYTHON_M1M2_LED_ON_HELPURL="",sF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 设灯 %1 亮度 %2",sF.MPYTHON_M1M2_LED_ON_TOOLTIP="",sF.MPYTHON_MUSIC_PIN_P6="默认",sF.MPYTHON_MUSIC_PIN_P6_HELPURL="",sF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",sF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",sF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",sF.MPYTHON_SLEEP_TOOLTIP="在进行下一个命令前,等待设定的时间。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒符号msmillisecond\n微秒符号μsmicrosecond",sF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="运行时间",sF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="获取开机或复位后的运行时间(毫秒)。",sF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",sF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="温度",sF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="获取 micro:bit 的温度(℃)。",sF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音乐 %1 等待 %2 循环 %3 引脚 %4",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放内置的音乐,可以设置等待模式和循环播放。",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",sF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音调 %1 %2 延时 %3 毫秒 引脚 %4",sF.MICROBIT_MUSIC_PITCH_TOOLTIP="在设定的时间长度里播放音调。",sF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循环 %4",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表如C4:4、G4:8等音符为字符串形式。默认是掌控板的P6引脚",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",sF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",sF.MICROBIT_MUSIC_RESET_MESSAGE0="恢复音乐设置",sF.MICROBIT_MUSIC_RESET_TOOLTIP="将所有音乐设置 (当前节拍, 音阶和周期) 恢复成默认值。",sF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",sF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音乐 引脚 %1",sF.MICROBIT_MUSIC_STOP_TOOLTIP="默认是掌控板的P6引脚",sF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="设置每一拍等同 %1 分音符,每分钟节拍数 %2",sF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="设置回放速度 (节拍)。一定数量的滴答代表一拍,每拍每分钟播放次数 (BPM 每分钟节拍)。",sF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="设置播放速度为 %1 倍",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符为1拍每分钟节拍数默认120为1倍的播放速度",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",sF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="获取当前节拍",sF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="获取当前节拍: 每节拍滴答数, 每分钟节拍 (BPM)。",sF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",sF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引脚 %1 控制, neopixel 彩灯数 %2 ",sF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩灯。需要设定 neopixels 彩灯数量和控制脚。",sF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",sF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩灯 %1",sF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩灯",sF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",sF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="显示 neopixels 彩灯 %1",sF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="显示 / 更新全部 neopixels 彩灯。",sF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",sF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",sF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩灯的红、绿、蓝 (RGB) 颜色",sF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",sF.MICROBIT_PIN_TOUCHED_MESSAGE0="引脚 %1 被触摸",sF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引脚被触摸将返回 “真”。",sF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",sF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触摸",sF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引脚曾经被触摸将返回 “真”。",sF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",sF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引脚 %1 被触摸的次数",sF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被触摸的次数,然后清零。",sF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",sF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="读取引脚 %1 模拟电压",sF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="读取引脚的模拟输入电压。",sF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",sF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="设置模拟量 %1 到引脚 %2",sF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="写入模拟参数到指定引脚上。",sF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",sF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="读取引脚 %1 的数字输入",sF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="读取引脚的数字输入 (真 或 假)。",sF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",sF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="设置数字输出 %1 到引脚 %2",sF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="写入数字量 (真 或 假) 到指定引脚。",sF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",sF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",sF.MICROBIT_RADIO_ON_MESSAGE0="打开无线广播",sF.MICROBIT_RADIO_ON_TOOLTIP="打开无线广播。需要明确声明调用,因为它会消耗更多功率和占用更多内存。",sF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",sF.MICROBIT_RADIO_OFF_MESSAGE0="关闭无线广播",sF.MICROBIT_RADIO_OFF_TOOLTIP="关闭无线广播,节省功耗和内存。",sF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置无线广播消息长度 %1 %2 最大队列数量 %3 %4 信道 %5 %6 广播功率 %7 %8 地址 %9 %10 组 %11 %12 数据速率 %13",sF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置无线广播。\n 长度指单个消息的最大长度; \n 队列指可以存放在消息队列中消息的数量; \n 信道指无线广播使用的无线频率; \n 功率指发射广播信号的强度; \n 地址32位值 \n 组8位值(0-255) \n 数据速率指数据传输的速度。",sF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",sF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",sF.MICROBIT_RADIO_RESET_MESSAGE0="复位无线广播",sF.MICROBIT_RADIO_RESET_TOOLTIP="恢复无线广播到默认设置。",sF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="发送消息 %1",sF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="广播文字消息。",sF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",sF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="发送字节 %1",sF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="广播字节。",sF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",sF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",sF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",sF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",sF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字节",sF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字节。",sF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",sF.MICROBIT_SPEECH_SAY_MESSAGE0="说 %1",sF.MICROBIT_SPEECH_SAY_TOOLTIP="尝试说英语",sF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",sF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="读 %1",sF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精确发音。",sF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",sF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",sF.MICROBIT_SPEECH_SING_TOOLTIP="象机器人一样唱歌。",sF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",sF.MICROBIT_GESTURE_SHAKE="摇晃",sF.MICROBIT_GESTURE_UP="上",sF.MICROBIT_GESTURE_DOWN="下",sF.MICROBIT_GESTURE_LEFT="左",sF.MICROBIT_GESTURE_RIGHT="右",sF.MICROBIT_GESTURE_FACE_UP="朝上",sF.MICROBIT_GESTURE_FACE_DOWN="朝下",sF.MICROBIT_GESTURE_FREEFAIL="自由下落",sF.MICROBIT_IMAGE_HEART="心形",sF.MICROBIT_IMAGE_HEART_SMALL="心(小)",sF.MICROBIT_IMAGE_HAPPY="高兴",sF.MICROBIT_IMAGE_SMILE="笑脸",sF.MICROBIT_IMAGE_SAD="伤心",sF.MICROBIT_IMAGE_CONFUSED="困惑",sF.MICROBIT_IMAGE_ANGRY="生气",sF.MICROBIT_IMAGE_ASLEEP="睡着",sF.MICROBIT_IMAGE_SUPRISED="惊讶",sF.MICROBIT_IMAGE_SILLY="愚蠢",sF.MICROBIT_IMAGE_FABULOUS="极妙",sF.MICROBIT_IMAGE_MEH="无聊",sF.MICROBIT_IMAGE_YES="是",sF.MICROBIT_IMAGE_NO="否",sF.MICROBIT_IMAGE_CLOCK12="12点",sF.MICROBIT_IMAGE_CLOCK11="11点",sF.MICROBIT_IMAGE_CLOCK10="10点",sF.MICROBIT_IMAGE_CLOCK9="9点",sF.MICROBIT_IMAGE_CLOCK8="8点",sF.MICROBIT_IMAGE_CLOCK7="7点",sF.MICROBIT_IMAGE_CLOCK6="6点",sF.MICROBIT_IMAGE_CLOCK5="5点",sF.MICROBIT_IMAGE_CLOCK4="4点",sF.MICROBIT_IMAGE_CLOCK3="3点",sF.MICROBIT_IMAGE_CLOCK2="2点",sF.MICROBIT_IMAGE_CLOCK1="1点",sF.MICROBIT_IMAGE_ARROW_N="箭头-北",sF.MICROBIT_IMAGE_ARROW_NE="箭头-东北",sF.MICROBIT_IMAGE_ARROW_E="箭头-东",sF.MICROBIT_IMAGE_ARROW_SE="箭头-东南",sF.MICROBIT_IMAGE_ARROW_S="箭头-南",sF.MICROBIT_IMAGE_ARROW_SW="箭头-西南",sF.MICROBIT_IMAGE_ARROW_W="箭头-西",sF.MICROBIT_IMAGE_ARROW_NW="箭头-西北",sF.MICROBIT_IMAGE_TRIANGLE="三角形",sF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",sF.MICROBIT_IMAGE_CHESSBOARD="棋盘",sF.MICROBIT_IMAGE_DIAMOND="菱形",sF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",sF.MICROBIT_IMAGE_SQUARE="方形",sF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",sF.MICROBIT_IMAGE_RABBIT="兔子",sF.MICROBIT_IMAGE_COW="牛",sF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",sF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",sF.MICROBIT_IMAGE_MUSIC_QUAVERS="颤音",sF.MICROBIT_IMAGE_PITCHFORK="叉子",sF.MICROBIT_IMAGE_XMAS="圣诞树",sF.MICROBIT_IMAGE_PACMAN="吃豆人",sF.MICROBIT_IMAGE_TARGET="目标",sF.MICROBIT_IMAGE_TSHIRT="T恤衫",sF.MICROBIT_IMAGE_ROLLERSKATE="轮滑",sF.MICROBIT_IMAGE_DUCK="鸭子",sF.MICROBIT_IMAGE_HOUSE="房子",sF.MICROBIT_IMAGE_TORTOISE="乌龟",sF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",sF.MICROBIT_IMAGE_STICKFIGURE="线条画",sF.MICROBIT_IMAGE_GHOST="幽灵",sF.MICROBIT_IMAGE_SWORD="宝剑",sF.MICROBIT_IMAGE_GIRAFFE="长颈鹿",sF.MICROBIT_IMAGE_SKULL="头",sF.MICROBIT_IMAGE_UMBRELLA="伞",sF.MICROBIT_IMAGE_SNAKE="蛇",sF.MICROBIT_IMAGE_ALL_CLOCKS="所有时钟",sF.MICROBIT_IMAGE_ALL_ARROWS="所有箭头",sF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",sF.MICROBIT_PIN_SET_SERVO_TOOLTIP="设置舵机角度,范围为 0 180度",sF.MICROBIT_PIN_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",sF.MICROBIT_PIN_SET_MODE_HELPURL="",sF.MICROBIT_PIN_SET_MODE_TOOLTIP="引脚模式有三种:悬空、上拉、下拉",sF.MICROBIT_PIN_SET_MODE_MESSAGE0="设置引脚 %1 模式为 %2",sF.MICROBIT_PIN_MODE_NO="悬空",sF.MICROBIT_PIN_MODE_UP="上拉",sF.MICROBIT_PIN_MODE_DOWN="下拉",sF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",sF.MICROBIT_UART_INIT_TOOLTIP="",sF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",sF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到数据",sF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_READ_MSG_TOOLTIP="",sF.MICROBIT_UART_READ_MSG_MESSAGE0="读取串口 %1 字节",sF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",sF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="读取串口 %1 字节存至 %2",sF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",sF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口发送数据 %1",sF.MICROBIT_ALL_BYTES="全部",sF.MICROBIT_ALINE_BYTES="一行",sF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引脚 %1 被触发",sF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按键按下返回 “真”,否则返回 “假”。",sF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",sF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触发",sF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按键曾经按下过返回 “真”,否则返回 “假”。",sF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",sF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引脚 %1 被触发过的次数",sF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按键按下的总次数,然后清除计数。",sF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",sF.LABPLUS_LED_MESSAGE0="设置LED灯 引脚 %2 输出 %1",sF.LABPLUS_LED_TOOLTIP="",sF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",sF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="红外探测 引脚 %1 被触发",sF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="热敏传感器 引脚 %1 的值",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",sF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C数字光线传感器的值(lux)",sF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",sF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",sF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位传感器 引脚 %1 的值",sF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",sF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="烟雾探测器 引脚 %1 被触发",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",sF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_FOR_TOOLTIP="",sF.LABPLUS_BUZZER_FOR_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0 %2 毫秒",sF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_ON_TOOLTIP="",sF.LABPLUS_BUZZER_ON_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0",sF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_OFF_TOOLTIP="",sF.LABPLUS_BUZZER_OFF_MESSAGE0="关闭蜂鸣器 引脚0",sF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C温湿度传感器的 %1 值",sF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",sF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",sF.LABPLUS_TM_HM_SENSOR_TM="温度",sF.LABPLUS_TM_HM_SENSOR_HM="湿度",sF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",sF.LABPLUS_SET_SERVO_TOOLTIP="",sF.LABPLUS_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",sF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指纹传感器 引脚 %1 验证通过",sF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",sF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",sF.LABPLUS_SET_MOTOR_HELPURL="",sF.LABPLUS_SET_MOTOR_TOOLTIP="",sF.LABPLUS_SET_MOTOR_MESSAGE0="设置电机 %1 方向 %2 速度 %3",sF.LABPLUS_SET_MOTOR_CLOCKWISE="正转",sF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反转",sF.LABPLUS_STOP_MOTOR_HELPURL="",sF.LABPLUS_STOP_MOTOR_TOOLTIP="",sF.LABPLUS_STOP_MOTOR_MESSAGE0="停止电机",sF.LABPLUS_GET_RFID_ID_MESSAGE0="射频卡 引脚 %1 验证通过",sF.LABPLUS_GET_RFID_ID_TOOLTIP="",sF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",sF.LABPLUS_GET_RFID_VALUE_MESSAGE0="电子钱包 引脚 %1 余额",sF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",sF.LABPLUS_GET_RFID_VALUE_HELPURL="",sF.LABPLUS_SET_RFID_VALUE_MESSAGE0="设置电子钱包 引脚 %1 余额 %2 %3",sF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",sF.LABPLUS_SET_RFID_VALUE_HELPURL="",sF.LABPLUS_SET_RFID_ADD="增加",sF.LABPLUS_SET_RFID_MINUS="减少",sF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="声音传感器 引脚 %1 被触发",sF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",sF.LABPLUS_USB_SWITCH_HELPURL="",sF.LABPLUS_USB_SWITCH_TOOLTIP="",sF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB开关 引脚 %2",sF.LABPLUS_USB_SWITCH_ON="打开",sF.LABPLUS_USB_SWITCH_OFF="关闭",sF.LABPLUS_VOICE_RECORD_HELPURL="",sF.LABPLUS_VOICE_RECORD_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 语音录放器 引脚 %2",sF.LABPLUS_VOICE_RECORD_ON="打开",sF.LABPLUS_VOICE_RECORD_OFF="关闭",sF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引脚 %1 控制RGB 彩灯数 %2 ",sF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。",sF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",sF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩灯 %1",sF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩灯",sF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",sF.LABPLUS_RGB_SHOW_MESSAGE0="显示 RGB 彩灯 %1",sF.LABPLUS_RGB_SHOW_TOOLTIP="显示 / 更新全部 RGB 彩灯。",sF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",sF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",sF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色",sF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="设置扩展端口 IO %1 为 %2",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示输出引脚,1表示输入引脚",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="输入",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="输出",sF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",sF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",sF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="读取扩展端口值 IO %1",sF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",sF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",sF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="设置扩展端口 IO %1 值为 %2",sF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",sF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",sF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超声波传感器的值",sF.MICROBIT_SET_MUSIC_PIN_HELPURL="",sF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",sF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="设置默认蜂鸣器引脚为 %1",sF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",sF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人体感应 引脚 %1 被触发",sF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",sF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="门磁开关 引脚 %1 被触发",sF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",sF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",sF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="声音传感器 引脚 %1 的值",sF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",sF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",sF.LABPLUS_SMOKE_SENSOR_MESSAGE0="烟雾传感器 引脚 %1 的值",sF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",sF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",sF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤湿度传感器 引脚 %1 的值",sF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",sF.LABPLUS_FAN_SWITCH_TOOLTIP="",sF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 风扇 引脚 %2",sF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 引脚 %2",sF.LABPLUS_VOICE_RECORD_PLAY="播放",sF.LABPLUS_VOICE_RECORD_REC="录音",sF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 引脚 %1",sF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_ON_TOOLTIP="",sF.LABPLUS_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚 %3",sF.LABPLUS_MOTOR_ON_CLOCKWISE="正转",sF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反转",sF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_OFF_TOOLTIP="",sF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流电机 引脚 %1",sF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",sF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",sF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C颜色传感器读取并储存颜色",sF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",sF.LABPLUS_RGB_COLOR_TOOLTIP="读取已储存的颜色",sF.LABPLUS_RGB_COLOR_MESSAGE0="RGB颜色 %1",sF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",sF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",sF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="设置I2C数码管的值为 %1",sF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",sF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",sF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="关闭I2C数码管",sF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",sF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="设置MIDI模块音调为 %1",sF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",sF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模块 %2 音符 %1",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",sF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si";sF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",sF.LABPLUS_UART_OFF_MIDI_NOTE="停止",sF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",sF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模块停止播放音符 %1",sF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",sF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模块 %1",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循迹传感器 引脚 %1 检测为黑",sF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",sF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",sF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35温度传感器 引脚 %1 的值",sF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",sF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",sF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋转电位器 引脚 %1 的值",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震动传感器 引脚 %1 被触发",sF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",sF.LABPLUS_LASER_SWITCH_TOOLTIP="",sF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光开关 引脚 %2",sF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",sF.LABPLUS_4BUTTON_TOOLTIP="",sF.LABPLUS_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",sF.BLUE="A",sF.GREEN="B",sF.RED="C",sF.YELLOW="D",sF.LABPLUS_JOYSTICK_HELPURL="",sF.LABPLUS_JOYSTICK_TOOLTIP="",sF.LABPLUS_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",sF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",sF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",sF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模块(UART)播放第 %1 首音乐",sF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",sF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",sF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="设置MP3模块(UART)音量为 %1",sF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",sF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",sF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="设置MP3模块(UART)状态为 %1",sF.PAUSE="暂停",sF.STOP="停止",sF.PLAY="继续播放",sF.PLAYNEXT="下一首",sF.PLAYPREV="上一首",sF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_INIT_TOOLTIP="",sF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",sF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打开录放器 %1 %2 引脚REC %3 引脚PLAY %4",sF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="关闭录放器 %1 引脚REC %2 引脚PLAY %3",sF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_ON1_TOOLTIP="",sF.LABPLUS_MOTOR_ON1_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",sF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_OFF1_TOOLTIP="",sF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="设置LCD游标位置%1 X %2 Y %3",sF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="设置LCD显示 %1",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循环次数使用",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滚动LCD显示内容",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD显示内容",sF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",sF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到数据",sF.BLUEBIT_UART="串口",sF.BLUEBIT_INFRARED_SIGNAL="红外信号",sF.BLUEBIT_BLUEBOOTH="蓝牙",sF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_READ_MSG_TOOLTIP="",sF.LABPLUS_UART_READ_MSG_MESSAGE0="读取 %1 数据",sF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",sF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 发送数据 %2",sF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",sF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",sF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="设置点阵 %1 第一行显示%2 第二行显示%3 第三行显示%4 第四行显示%5 第五行显示%6 第六行显示%7 第七行显示%8 第八行显示%9 ",sF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="设置点阵 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空点阵",sF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_TOOLTIP="",sF.LABPLUS_UART_SET_OLED_MESSAGE0="设置OLED屏 %1 X %2 Y %3 显示文本 %4 字体为 %5",sF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",sF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩阵 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",sF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",sF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",sF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模拟光线传感器 引脚 %1 的值",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按键模块 引脚 %1 被按下",sF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",sF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="设置舵机 %1 的角度为 %2",sF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",sF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="设置马达 %1 方向 %2 速度 %3",sF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",sF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止马达 %1",sF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="声音传感器的值",sF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",sF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光线传感器的值",sF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",sF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_INIT_I2C_TOOLTIP="",sF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 频率 %1 引脚SDA %2 引脚SCL %3",sF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_I2C_READ_TOOLTIP="",sF.MICROBIT_I2C_READ_MESSAGE0="I2C读取从地址 %1 读取 %2 字节",sF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_I2C_WRITE_TOOLTIP="",sF.MICROBIT_I2C_WRITE_MESSAGE0="I2C写入 %2 到地址 %1",sF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",sF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",sF.BOTBIT_MOTOR_ON_HELPURL="",sF.BOTBIT_MOTOR_ON_TOOLTIP="范围:-2000~2000",sF.BOTBIT_MOTOR_ON_MESSAGE0="设置机器人 %1 右轮速度为 %2 左轮速度为 %3",sF.BOTBIT_MOTOR_LEFT="左",sF.BOTBIT_MOTOR_RIGHT="右",sF.BOTBIT_SERVO_UP="上方",sF.BOTBIT_SERVO_DOWN="下方",sF.BOTBIT_MOTOR_FORWARD="前进",sF.BOTBIT_MOTOR_BACKWARD="后退",sF.BOTBIT_HOLDBALL_HELPURL="",sF.BOTBIT_HOLDBALL_TOOLTIP="",sF.BOTBIT_HOLDBALL_MESSAGE0="双臂抱起",sF.BOTBIT_STEERING_ENGINEL_HELPURL="",sF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度范围为-45°~45°",sF.BOTBIT_STEERING_ENGINEL_MESSAGE0="设置 %1臂 %2的角度为 %3",sF.BOTBIT_SERVO_Y="Y轴舵机",sF.BOTBIT_SERVO_X="X轴舵机",sF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",sF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度范围为-45°~45°",sF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="设置 %1腿 %2舵机的角度为 %3",sF.BOTBIT_UPDATEPOSITION_HELPURL="",sF.BOTBIT_UPDATEPOSITION_TOOLTIP="",sF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵机角度",sF.BOTBIT_ULTRASONIC_HELPURL="",sF.BOTBIT_ULTRASONIC_TOOLTIP="",sF.BOTBIT_ULTRASONIC_MESSAGE0="超声波传感器的值",sF.BOTBIT_WALKING_HELPURL="",sF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推荐1000~2000",sF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步数%2 周期%3 方向%1 ",sF.BOTBIT_WALKING_FORWARD="前",sF.BOTBIT_WALKING_BACK="后",sF.BOTBIT_MOONWALKER_HELPURL="",sF.BOTBIT_MOONWALKER_TOOLTIP="推荐周期1000~2000, 幅度10~50",sF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步数%2 周期%3 幅度%4 方向%1 ",sF.BOTBIT_MOONWALKER_L="左",sF.BOTBIT_MOONWALKER_R="右",sF.BOTBIT_CRUSAITO_HELPURL="",sF.BOTBIT_CRUSAITO_TOOLTIP="推荐步数2~10, 幅度10~50",sF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步数%2 周期%3 幅度%4 方向%1",sF.BOTBIT_CRUSAITO_CW="逆时针",sF.BOTBIT_CRUSAITO_ANTICW="顺时针",sF.BOTBIT_FLAPPING_HELPURL="",sF.BOTBIT_FLAPPING_TOOLTIP="推荐步数5~15, 幅度10~30, 周期1000~2000",sF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步数%2 周期%3 幅度%4 方向%1",sF.BOTBIT_FLAPPING_FORWARD="前",sF.BOTBIT_FLAPPING_BACK="后",sF.BOTBIT_HOME_HELPURL="",sF.BOTBIT_HOME_TOOLTIP="",sF.BOTBIT_HOME_MESSAGE0="机器人舞步初始化",sF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",sF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",sF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="设置MIDI模块音量为 %1",sF.labplus_mapping_MESSAGE0="映射%1 从%2 , %3到%4 , %5",sF.labplus_mapping_TOOLTIP="将0~100中的10映射到0~200中并返回映射值",sF.labplus_mapping_HELPURL="",sF.JOINT_MIDI_PIANO="平台钢琴",sF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",sF.JOINT_MIDI_ELECTRICGRANDPIANO="电钢琴",sF.JOINT_MIDI_HARPSICHORD="大键琴",sF.JOINT_MIDI_Celesta="钢片琴",sF.JOINT_MIDI_Glockenspiel="钟琴",sF.JOINT_MIDI_Musicalbox="音乐盒",sF.JOINT_MIDI_Marimba="马林巴琴",sF.JOINT_MIDI_Xylophone="木琴",sF.JOINT_MIDI_TubularBell="管钟",sF.JOINT_MIDI_Dulcimer="洋琴",sF.JOINT_Vibraphone="颤音琴",sF.JOINT_MIDI_ORGAN="音栓风琴",sF.JOINT_Acoustic_Guitar="木吉他",sF.JOINT_Electric_Guitar="电吉他",sF.JOINT_Acoustic_Bass="民谣贝斯",sF.JOINT_String_Ensemble="弦乐合奏",sF.JOINT_Violin="小提琴",sF.JOINT_Trumpet="小号",sF.JOINT_Sax="萨克斯",sF.JOINT_Steel_Drums="钢鼓",sF.JOINT_Lead="合成音主旋律",sF.JOINT_Pad="合成音衬底",sF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",sF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音调 %1",sF.Carbit_init_MESSAGE0="CarBit初始化",sF.Carbit_init_TOOLTIP="",sF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_setLeftMotor_MESSAGE0="B2电机速度 %1",sF.Carbit_setLeftMotor_TOOLTIP="范围:-100~100",sF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_setRightMotor_MESSAGE0="B1电机速度 %1",sF.Carbit_setRightMotor_TOOLTIP="范围:-100~100",sF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_analog_light_TOOLTIP="Q3对应Pin1Q4对应Pin2",sF.Carbit_analog_light_MESSAGE0="%1 模拟光线的值",sF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Speed_U10_TOOLTIP="对应U10",sF.Carbit_Speed_U10_MESSAGE0="左轮速度",sF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Speed_U11_TOOLTIP="对应U11",sF.Carbit_Speed_U11_MESSAGE0="右轮速度",sF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Distance_TOOLTIP="",sF.Carbit_Distance_MESSAGE0="超声波的值",sF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_tracking_TOOLTIP="",sF.Carbit_tracking_MESSAGE0="循迹参数 %1 直行速度 %2 最大限速 %3 转弯延时 %5 转弯速度系数 %4 ",sF.XUNFEI_SPEECH_TTS_HELPURL="",sF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音频文件格式只能是 *.pcm",sF.XUNFEI_SPEECH_TTS_MESSAGE0="[讯飞语音] 合成音频 %1 APPID %2 APISecret %3 APIKey %4 文字内容 %5 转存为音频文件 %6",sF.XUNFEI_SPEECH_IAT_HELPURL="",sF.XUNFEI_SPEECH_IAT_TOOLTIP="可识别的音频格式有 *.pcm 与 *.wav",sF.XUNFEI_SPEECH_IAT_MESSAGE0="[讯飞语音] 识别音频 %1 APPID %2 APISecret %3 APIKey %4 待识别音频文件 %5",sF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",sF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",sF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[讯飞语音] 识别结果",sF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",sF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",sF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",sF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",sF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",sF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3] 从0到3依次顺时针旋转",sF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",sF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",sF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",sF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",sF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",sF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",sF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",sF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",sF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",sF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",sF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",sF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",sF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",sF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",sF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",sF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",sF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",sF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",sF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",sF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",sF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高获取帧缓冲获取ID)",sF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",sF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",sF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",sF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",sF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",sF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",sF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",sF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",sF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",sF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",sF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="(掌控AI)寻找颜色 LAB值%1",sF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",sF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",sF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",sF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追踪色块",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追踪颜色 显示%1",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",sF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1获取识别后色块的 所有参数",sF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1获取识别后色块的 x坐标",sF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 y坐标",sF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1获取识别后色块的 宽度",sF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1获取识别后色块的 高度",sF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1获取识别后色块的 数量",sF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1获取识别后色块的 中心x坐标",sF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 中心y坐标",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1获取识别后色块的 矩形",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)选择训练模型 人脸",sF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 人脸识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)获取识别后人脸的 所有参数",sF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",sF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)获取识别后人脸的 x坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)获取识别后人脸的 y坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)获取识别后人脸的 宽度",sF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",sF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)获取识别后人脸的 高度",sF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",sF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)获取识别后人脸的 置信度",sF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",sF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)获取识别后人脸的 数量",sF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",sF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",sF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",sF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",sF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",sF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",sF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",sF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)选择训练模型 20类",sF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以识别20个类型分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 20类识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",sF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)获取识别后20类的 所有参数",sF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",sF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)获取识别后20类的 x坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)获取识别后20类的 y坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)获取识别后20类的 宽度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)获取识别后20类的 高度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)获取识别后20类的 置信度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)获取识别后20类的 数量",sF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",sF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)获取识别后20类的 类型",sF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数可以识别20个类型分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)获取识别后20类的 类型数量",sF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",sF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)选择训练模型 手写数字",sF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",sF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",sF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)调用摄像头进行 手写数字识别",sF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)获取识别后手写数字的 所有参数",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)获取识别后手写数字的 数字",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)获取识别后手写数字的 置信度",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="(掌控AI)获取 识别%1",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置width和height是人脸识别出的宽度和高度classid是识别出的类别objnum是人脸识别出的个数",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="(掌控AI)获取 识别 所有参数",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置width和height是人脸识别出的宽度和高度classid是识别出的类别objnum是人脸识别出的个数",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="(掌控AI)人脸识别",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",sF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",sF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="(掌控AI)可以放入获取识别的参数可以识别20个类型分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",sF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",sF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",sF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",sF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",sF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",sF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",sF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",sF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",sF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",sF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",sF.MPYTHON_ZKAI_SENSOR_ENABLE_START="开始抓取图像",sF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取图像",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平镜像",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻转",sF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="对比度",sF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",sF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="饱和度",sF.MPYTHON_ZKAI2_FACE_YOLO="人脸识别",sF.MPYTHON_ZKAI2_CLASS_20_YOLO="20类识别",sF.MPYTHON_ZKAI2_MNIST_NET="数字识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人脸",sF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="20类",sF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",sF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="声明python 运行环境",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",sF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C获取颜色",sF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",sF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",sF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C获取 %1",sF.MPYTHON_lARK_RED="红色",sF.MPYTHON__LARK_GREEN="绿色",sF.MPYTHON__LARK_BLUE="蓝色",sF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C获取HSV",sF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C获取HSV %1",sF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",sF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C获取颜色",sF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",sF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="识别 %1",sF.MPYTHON_LARK_RED="红色",sF.MPYTHON_LARK_GREEN="绿色",sF.MPYTHON_LARK_BLUE="蓝色",sF.MPYTHON_LARK_ORANGE="橙色",sF.MPYTHON_LARK_YELLOW="黄色",sF.MPYTHON_LARK_PURPLE="紫色",sF.MPYTHON_LARK_CYAN="青色",sF.MPYTHON_LARK_NONE="无色",sF.MPYTHON_LARK_NULL="无法获取",sF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",sF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超声波",sF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C设置 %1 速度 %2",sF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C获取 %1 巡线值",sF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右边",sF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左边",sF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循迹传感 %1 遇到黑线",sF.MPYTHON_LARK_SEARCH_LEFT="左边",sF.MPYTHON_LARK_SEARCH_RIGHT="右边",sF.MPYTHON_LARK_SEARCH_LEFT2="两边都",sF.MPYTHON_LARK_SEARCH_RIGHT2="两边都没有",sF.MPYTHON_LARK_SEARCH_BOTH="两边都",sF.MPYTHON_LARK_SEARCH_NONE="两边都没有",sF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",sF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里马获取颜色",sF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",sF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里马获取 %1",sF.MPYTHON_lARK_CAR_RED="红色",sF.MPYTHON__LARK_CAR_GREEN="绿色",sF.MPYTHON__LARK_CAR_BLUE="蓝色",sF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里马获取HSV",sF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里马获取HSV %1",sF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",sF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里马识别颜色",sF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",sF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里马识别颜色 %1",sF.MPYTHON_LARK_CAR_RED="红色",sF.MPYTHON_LARK_CAR_GREEN="绿色",sF.MPYTHON_LARK_CAR_BLUE="蓝色",sF.MPYTHON_LARK_CAR_ORANGE="橙色",sF.MPYTHON_LARK_CAR_YELLOW="黄色",sF.MPYTHON_LARK_CAR_PURPLE="紫色",sF.MPYTHON_LARK_CAR_CYAN="青色",sF.MPYTHON_LARK_CAR_NONE="无识别",sF.MPYTHON_LARK_CAR_NULL="识别错误",sF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",sF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里马获取超声波",sF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里马获取 %1 循迹数值",sF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右边",sF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左边",sF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里马循迹传感器 %1 碰到黑线",sF.MPYTHON_LARK_CAR_SEARCH_LEFT="左边",sF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右边",sF.MPYTHON_LARK_CAR_SEARCH_LEFT2="两边",sF.MPYTHON_LARK_CAR_SEARCH_NONE="两边都没有",sF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="电机驱动 %1 速度 %2",sF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里马 %1 速度 %2",sF.MPYTHON_LARK_CAR_MOTION_LEFT="左转",sF.MPYTHON_LARK_CAR_MOTION_RIGHT="右转",sF.MPYTHON_LARK_CAR_MOTION_FORWARD="前进",sF.MPYTHON_LARK_CAR_MOTION_BACKWARD="后退",sF.MPYTHON_LARK_CAR_MOTION_STOP="停止",sF.MPYTHON_DEFINE_THREAD_MESSAGE0="定义线程 %1",sF.MPYTHON_RUN_THREAD_MESSAGE0="运行线程 %1",sF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 转换数字为bytes %1 %2 %3 %4 待转换数字 %5",sF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes为数字 %1 %2 %3 %4 待转换bytes %5",sF.LITTLE_ENDIAN="低位优先(默认)",sF.BIG_ENDIAN="高位优先",sF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[适用2.0板] 当掌控板 %1 时",sF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",sF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向后倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",sF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",sF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被单击",sF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被双击",sF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="坠落",sF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="横滚角",sF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",sF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",sF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",sF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",sF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",sF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",sF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按键 %1 已经按下",sF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",sF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",sF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按键 %1 曾经按下",sF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",sF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",sF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按键 %1 按下过的次数",sF.MPYTHON2_BUTTON_EVENT_MESSAGE0="当按键 %1 被 %2 时",sF.MPYTHON2_BUTTON_EVENT_HELPURL="",sF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",sF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",sF.MPYTHON2_BUTTON_EVENT_RELEASED="松开",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="触摸键 %1 已经按下",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="触摸键 %1 曾经按下",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="触摸键 %1 按下过的次数",sF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",sF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="触摸键 %1 值",sF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",sF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",sF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="触摸",sF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="释放",sF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="设置触摸键 %1 阀值为 %2",sF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",sF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",sF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",sF.BLE_UUID_TOOLTIP="",sF.BLE_SETUP_PERIPHERAL_HELPURL="",sF.BLE_SETUP_PERIPHERAL_TOOLTIP="",sF.BLE_SETUP_PERIPHERAL_MESSAGE0="构建 BLE 外围设备对象 %1 显示名称 %2 Service UUID %3",sF.BLE_ADD_CHARACTERISTIC_HELPURL="",sF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",sF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定义 BLE 属性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",sF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",sF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",sF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外围设备 %1",sF.BLE_START_BROADCASTING="开始广播",sF.BLE_STOP_BROADCASTING="停止广播",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="读 BLE 设备的属性 %1",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="写 BLE 设备的属性 %1 %2 值 %3 Notify %4",sF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",sF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",sF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外围设备断开连接",sF.BLE_PERIPHERAL_MAC_HELPURL="",sF.BLE_PERIPHERAL_MAC_TOOLTIP="",sF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外围设备 MAC地址",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="当 BLE 与中央设备建立连接时 %1 连接句柄 %2 地址类型 %3 中央设备的MAC地址 %4",sF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",sF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",sF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="当 BLE 设备的属性值被改写时 %1 连接句柄 %2 被写属性句柄 %3 写入的数据 %4",sF.BLE_SETUP_CENTERAL_HELPURL="",sF.BLE_SETUP_CENTERAL_TOOLTIP="",sF.BLE_SETUP_CENTERAL_MESSAGE0="构建 BLE 中央设备对象 显示名称 %1",sF.BLE_CENTERAL_CONNECT_HELPURL="",sF.BLE_CENTERAL_CONNECT_TOOLTIP="",sF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央设备连接到 %1 %2",sF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",sF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",sF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外围设备已连接 ?",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="设定 %1 为 已连接外围设备 属性对象 %2 Service UUID %3 Characteristic UUID %4",sF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",sF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",sF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="读 已连接外围设备的 属性 %1 值",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="写 已连接外围设备的 属性 %1 值 %2",sF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",sF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",sF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="当 已连接外围设备发起 Notify 通知事件时 %1 属性的值柄 %2 通知的属性值 %3",sF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",sF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",sF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已连接的外围设备 %1",sF.BLE_CENTERAL_CLOSE_HELPURL="",sF.BLE_CENTERAL_CLOSE_TOOLTIP="",sF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央设备 断开连接",sF.BLE_INFO_NAME="蓝牙名称",sF.BLE_INFO_MAC="MAC地址",sF.BLE_INFO_RSSI="信号强度",sF.BLE_INFO_ADDRTYPE="地址类型",sF.BLE_INFO_ADVTYPE="广播类型",sF.BLE_INFO_DATA="原始数据(元组)",sF.BLE_SETUP_UART_HELPURL="",sF.BLE_SETUP_UART_TOOLTIP="",sF.BLE_SETUP_UART_MESSAGE0="构建 BLE UART从机 显示名称 %1",sF.BLE_UART_IS_CONNECTED_HELPURL="",sF.BLE_UART_IS_CONNECTED_TOOLTIP="",sF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已连接 ?",sF.BLE_UART_ANY_HELPURL="",sF.BLE_UART_ANY_TOOLTIP="",sF.BLE_UART_ANY_MESSAGE0="BLE UART 可读字节数量",sF.BLE_UART_IRQ_HELPURL="",sF.BLE_UART_IRQ_TOOLTIP="",sF.BLE_UART_IRQ_MESSAGE0="当 BLE UART 接收到数据时 %1 执行 %2",sF.BLE_UART_READ_HELPURL="",sF.BLE_UART_READ_TOOLTIP="从 UART 另一端发送过来的消息",sF.BLE_UART_READ_MESSAGE0="已接收数据",sF.BLE_UART_WRITE_HELPURL="",sF.BLE_UART_WRITE_TOOLTIP="",sF.BLE_UART_WRITE_MESSAGE0="BLE UART 发送字节 %1",sF.BLE_UART_CLOSE_HELPURL="",sF.BLE_UART_CLOSE_TOOLTIP="",sF.BLE_UART_CLOSE_MESSAGE0="BLE UART 断开连接",sF.BLE_SETUP_UART_MASTER_HELPURL="",sF.BLE_SETUP_UART_MASTER_TOOLTIP="",sF.BLE_SETUP_UART_MASTER_MESSAGE0="构建 BLE UART主机 连接到 %1 %2",sF.BLE_SETUP_HID_HELPURL="",sF.BLE_SETUP_HID_TOOLTIP="",sF.BLE_SETUP_HID_MESSAGE0="构建 BLE HID %1 对象 %2 显示名称 %3 电池电量 %4",sF.BLE_HID_MOUSE="鼠标",sF.BLE_HID_KEYBOARD="键盘",sF.BLE_HID_CONSUMER="遥控器",sF.BLE_HID_ADVERTISE_HELPURL="",sF.BLE_HID_ADVERTISE_TOOLTIP="",sF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID设备 %1",sF.BLE_HID_CONNECT_EVENT_HELPURL="",sF.BLE_HID_CONNECT_EVENT_TOOLTIP="",sF.BLE_HID_CONNECT_EVENT_MESSAGE0="当 BLE HID设备 连接时",sF.BLE_HID_DISCONNECT_HELPURL="",sF.BLE_HID_DISCONNECT_TOOLTIP="",sF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID设备 断开连接",sF.BLE_HID_BATTERY_LEVEL_HELPURL="",sF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",sF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID设备 电池电量",sF.BLE_HID_MOUSE_BUTTONS_HELPURL="",sF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",sF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠标键 %1",sF.BLE_HID_MOUSE_CLICK_HELPURL="",sF.BLE_HID_MOUSE_CLICK_TOOLTIP="",sF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠标 点击按键 %1",sF.BLE_HID_MOUSE_PRESS_HELPURL="",sF.BLE_HID_MOUSE_PRESS_TOOLTIP="",sF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠标 长按按键 %1",sF.BLE_HID_MOUSE_RELEASE_HELPURL="",sF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",sF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠标 释放按键 %1",sF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",sF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",sF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠标 释放所有按键",sF.BLE_HID_MOUSE_MOVE_HELPURL="",sF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光标移动量,范围 ±127 。\nwheel - 滚轮,范围 ±127 。",sF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠标 光标移动 %1 X轴移动量 %2 Y轴移动量 %3 滚轮 %4",sF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",sF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",sF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="键盘按键 %1",sF.BLE_HID_KEYBOARD_SEND_HELPURL="",sF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",sF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 键盘 按下按键 %1",sF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",sF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",sF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 键盘 同时按下按键 %1 %2 %3",sF.BLE_HID_KEYBOARD_PRESS_HELPURL="",sF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",sF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 键盘 长按按键 %1",sF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",sF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",sF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 键盘 释放按键 %1",sF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",sF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",sF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 键盘 释放所有按键",sF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",sF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",sF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遥控器键 %1",sF.BLE_HID_CONSUMER_SEND_HELPURL="",sF.BLE_HID_CONSUMER_SEND_TOOLTIP="",sF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遥控器点击 %1",sF.BLE_SETUP_IBEACON_HELPURL="",sF.BLE_SETUP_IBEACON_TOOLTIP="",sF.BLE_SETUP_IBEACON_MESSAGE0="构建 BLE iBeacon设备 %1 UUID %2 major %3 minor %4",sF.BLE_IBEACON_ADVERTISE_HELPURL="",sF.BLE_IBEACON_ADVERTISE_TOOLTIP="",sF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon设备 %1",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回电量单位mV",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的电压值(mV)",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回编码后的红外脉冲数据buff",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 红外脉冲任意编码 %1 载波频率(Hz) %2 code总数 %3 循环码位置 %4 code列表 %5 编码波形数据 %6",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回编码后的红外脉冲数据buff\n用户码0~255\n命令码0~255",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 红外脉冲NEC编码 %1 用户码 %2 命令码 %3",sF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",sF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",sF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 发送红外脉冲数据 %1 %2",sF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只发一次",sF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持续发送",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="当发送重复码后,使用此函数来停止发送。",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止发送红外脉冲数据",sF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",sF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="学习开始后需等待4秒之后返回学习结果。";sF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 开始红外学习",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 红外学习有结果 ?",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回学习后的“红外编码数据”,须在 learn 函数后使用。",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 学习到的红外编码数据",sF.MPYTHON_MLX90615_SET_HELPURL="",sF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接触测温传感器 设置发射系数%1",sF.MPYTHON_MLX90615_SET_TOOLTIP="",sF.MPYTHON_MLX90615_GET_HELPURL="",sF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接触测温传感器 获取系数",sF.MPYTHON_MLX90615_GET_TOOLTIP="",sF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",sF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接触测温传感器 获取测温",sF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",sF.MPYTHON_MQ135_INIT_HELPURL="",sF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 输出引脚%1 温度%2 ℃ 湿度%3 %",sF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 连接扩展板的电源口 V GND连接扩展板的地线口 G AO输出连接扩展板的引脚 P0/P1(即选引脚)\nMQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度",sF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",sF.MPYTHON_MQ135_OPTIONS_HELPURL="",sF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探测到的二氧化碳的百万分之一(假设只有空气中的二氧化碳) ppm浓度",sF.MPYTHON_MQ135_GET_RZERO="校正传感器电阻",sF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正传感器电阻(校准温度、湿度)",sF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度",sF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度(校准温度、湿度)",sF.mpython_gyroscope_get_HELPURL="",sF.mpython_gyroscope_get_MESSAGE0="%1 轴角速度",sF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版适用",sF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",sF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",sF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",sF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",sF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",sF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",sF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",sF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",sF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",sF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="设置角速度范围,默认为 ±256dps。仅适用于掌控板2.3及以上版本",sF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="设置角速度范围为 %1",sF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",sF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校准陀螺仪角速度计的3个轴(x,y,z)的角速度值偏差。\n一般情况下无需校准只有遇到角速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1024dps。\n注意v2.3版本以后适用",sF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校准角速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4";const OF=sF,IF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"是數字",TEXT_IS_ALPHA:"是字母",TEXT_IS_ALNUM:"是數字和字母的組合",TEXT_LIST_START:"初始化列表 [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"初始化元組 (",TEXT_TUPLE_END:")",TEXT_DICT_START:"初始化字典 {",TEXT_DICT_END:"}",TEXT_SET_START:"初始化集合 {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",ADD_COMMENT:"添加註釋",CHANGE_VALUE_TITLE:"更改值:",CLEAN_UP:"整理塊",COLLAPSE_ALL:"折疊塊",COLLAPSE_BLOCK:"折疊塊",COLOUR_BLEND_COLOUR1:"顏色1",COLOUR_BLEND_COLOUR2:"顏色2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"比例",COLOUR_BLEND_TITLE:"混合",COLOUR_BLEND_TOOLTIP:"用一個給定的比率(0.0-1.0)混合兩種顏色。",COLOUR_PICKER_HELPURL:"https://zh.wikipedia.org/wiki/顏色",COLOUR_PICKER_TOOLTIP:"從調色板中選擇一種顏色。",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"隨機顏色",COLOUR_RANDOM_TOOLTIP:"隨機選擇一種顏色。",COLOUR_RGB_BLUE:"藍色",COLOUR_RGB_GREEN:"綠色",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"紅色",COLOUR_RGB_TITLE:"顏色",COLOUR_RGB_TOOLTIP:"通過指定紅色、綠色和藍色的量創建一種顏色。所有的值必須介於0和100之間。",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"中斷循環",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"繼續下一次循環",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"中斷包含它的循環。",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"跳過這個循環的剩余部分,並繼續下一次叠代。",CONTROLS_FLOW_STATEMENTS_WARNING:"警告:此塊僅可用於在一個循環內。",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"為每個項目 %1 在列表中 %2",CONTROLS_FOREACH_TOOLTIP:"遍歷每個列表中的項目,將變量“%1”設定到該項中然後執行某些語句。",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"使用 %1 從範圍 %2 到 %3 每隔 %4",CONTROLS_FOR_TOOLTIP:"從起始數到結尾數中取出變量“%1”的值按指定的時間間隔執行指定的塊。",CONTROLS_IF_ELSEIF_TOOLTIP:"在if語句塊中增加一個條件。",CONTROLS_IF_ELSE_TOOLTIP:"添加一個最終的包括所有情況的節到if塊中。",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",CONTROLS_IF_IF_TOOLTIP:"增加、刪除或重新排列各節來重新配置“if”塊。",CONTROLS_IF_MSG_ELSE:"否則",CONTROLS_IF_MSG_ELSEIF:"否則如果",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",CONTROLS_IF_MSG_IF:"如果",CONTROLS_IF_TOOLTIP_1:"如果值為真,執行一些語句。",CONTROLS_IF_TOOLTIP_2:"如果值為真,則執行第一塊語句。否則,則執行第二塊語句。",CONTROLS_IF_TOOLTIP_3:"如果第一個值為真,則執行第一塊的語句。否則,如果第二個值為真,則執行第二塊的語句。",CONTROLS_IF_TOOLTIP_4:"如果第一個值為真,則執行第一塊對語句。否則,如果第二個值為真,則執行語句的第二塊。如果沒有值為真,則執行最後一塊的語句。",CONTROLS_REPEAT_FOREVER:"一直重復",CONTROLS_REPEAT_FOREVER_TOOLTIP:"一直執行一些語句。",CONTROLS_REPEAT_HELPURL:"https://zh.wikipedia.org/wiki/For循環",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"重復 %1 次",CONTROLS_REPEAT_TOOLTIP:"多次執行一些語句。",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"重復直到",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"重復當",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"只要值為假,執行一些語句。",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"只要值為真,執行一些語句。",DELETE_ALL_BLOCKS:"刪除所有%1塊嗎",DELETE_BLOCK:"刪除塊",DELETE_VARIABLE:"刪除“%1”變量",DELETE_VARIABLE_CONFIRMATION:"刪除“%2”變量的%1種用途麽",DELETE_X_BLOCKS:"刪除塊",DISABLE_BLOCK:"禁用塊",DUPLICATE_BLOCK:"復制",ENABLE_BLOCK:"啟用塊",EXPAND_ALL:"展開塊",EXPAND_BLOCK:"展開塊",EXTERNAL_INPUTS:"多行輸入",HELP:"幫助",INLINE_INPUTS:"單行輸入",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"創建空列表",TUPLE_CREATE_EMPTY_TITLE:"創建空元組",DICT_CREATE_EMPTY_TITLE:"創建空字典",SET_CREATE_EMPTY_TITLE:"創建空集合",LISTS_CREATE_EMPTY_TOOLTIP:"返回一個列表,長度為 0不包含任何數據記錄",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"列表",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"元組",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"字典",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"集合",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個列表塊。",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個元組塊。",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個字典塊。",SET_CREATE_WITH_CONTAINER_TOOLTIP:"增加、刪除或重新排列各部分以此重新配置這個集合塊。",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"初始化列表",TUPLE_CREATE_WITH_INPUT_WITH:"初始化元組",DICT_CREATE_WITH_INPUT_WITH:"初始化字典",SET_CREATE_WITH_INPUT_WITH:"初始化集合",LISTS_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到列表中。",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到元組中。",DICT_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到字典中。",SET_CREATE_WITH_ITEM_TOOLTIP:"將一個項添加到集合中。",LISTS_CREATE_WITH_TOOLTIP:"建立一個具有任意數量項目的列表。",LISTS_GET_INDEX_FIRST:"第一",LISTS_GET_INDEX_FROM_END:"倒數第",LISTS_GET_INDEX_FROM_START:"第",LISTS_GET_INDEX_GET:"獲得",LISTS_GET_INDEX_GET_REMOVE:"取出並移除",LISTS_GET_INDEX_LAST:"最後",LISTS_GET_INDEX_RANDOM:"隨機",LISTS_GET_INDEX_REMOVE:"移除",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"在列表 %1 中移除 %2 項",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_FROM:"返回在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"返回列表中的最後一項。",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"隨機返回列表中的一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"移除並返回列表中的第一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:"移除並返回列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"移除並返回列表中的最後一個項目。",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"移除並返回列表中的一個隨機項目中。",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"移除列表中的第一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:"移除在列表中的指定位置的項。",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"移除列表中的最後一項",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"刪除列表中的一個隨機的項。",LISTS_GET_SUBLIST_END_FROM_END:"到倒數第#",LISTS_GET_SUBLIST_END_FROM_START:"到#",LISTS_GET_SUBLIST_END_LAST:"到最後",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"從頭獲得子列表",LISTS_GET_SUBLIST_START_FROM_END:"從倒數#取得子列表",LISTS_GET_SUBLIST_START_FROM_START:"從#取得子列表",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"復制列表中指定的部分。",LISTS_INDEX_FROM_END_TOOLTIP:"%1是最後一項。",LISTS_INDEX_FROM_START_TOOLTIP:"%1是第一個項目。",LISTS_INDEX_OF_FIRST:"找出第一個項出現",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"找出最後一個項出現",LISTS_INDEX_OF_TOOLTIP:"返回在列表中的第一/最後一個匹配項的索引值。如果找不到項目則返回0",LISTS_INLIST:"在列表中",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1是空的",LISTS_ISEMPTY_TOOLTIP:"如果改列表為空,則返回真。",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"%1的長度",LISTS_LENGTH_TOOLTIP:"返回列表的長度。",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"建立列表 項 %1 重復 %2 次",LISTS_REPEAT_TOOLTIP:"建立包含指定重復次數的值的列表。",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"為",LISTS_SET_INDEX_INSERT:"插入在",LISTS_SET_INDEX_SET:"設置",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"在列表的起始處添加該項。",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:"插入在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"將該項追加到列表的末尾。",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"在列表中隨機插入項。",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"設置列表中的第一個項目。",LISTS_SET_INDEX_TOOLTIP_SET_FROM:"設置在列表中指定位置的項。",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"設置列表中的最後一項。",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"設置列表中一個隨機的項目。",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"升序",LISTS_SORT_ORDER_DESCENDING:"降序",LISTS_SORT_TITLE:"排序%1 %2 %3",LISTS_SORT_TOOLTIP:"排序一個列表的拷貝。",LISTS_SORT_TYPE_IGNORECASE:"按字母排序,忽略大小寫",LISTS_SORT_TYPE_NUMERIC:"按數字排序",LISTS_SORT_TYPE_TEXT:"按字母排序",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"從文本制作列表",LISTS_SPLIT_TEXT_FROM_LIST:"從列表組合文本",LISTS_SPLIT_TOOLTIP_JOIN:"加入文本列表至一個文本,由分隔符分隔。",LISTS_SPLIT_TOOLTIP_SPLIT:"拆分文本到文本列表,按每個分隔符拆分。",LISTS_SPLIT_WITH_DELIMITER:"用分隔符",LOGIC_BOOLEAN_FALSE:"假",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"返回真或假。",LOGIC_BOOLEAN_TRUE:"真",LOGIC_COMPARE_HELPURL:"https://zh.wikipedia.org/wiki/不等",LOGIC_COMPARE_TOOLTIP_EQ:"如果兩個輸入結果相等,則返回真。",LOGIC_COMPARE_TOOLTIP_GT:"如果第一個輸入結果比第二個大,則返回真。",LOGIC_COMPARE_TOOLTIP_GTE:"如果第一個輸入結果大於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_LT:"如果第一個輸入結果比第二個小,則返回真。",LOGIC_COMPARE_TOOLTIP_LTE:"如果第一個輸入結果小於或等於第二個輸入結果,則返回真。",LOGIC_COMPARE_TOOLTIP_NEQ:"如果兩個輸入結果不相等,則返回真。",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"非%1",LOGIC_NEGATE_TOOLTIP:"如果輸入結果為假,則返回真;如果輸入結果為真,則返回假。",LOGIC_NULL:"空",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"返回空值。",LOGIC_OPERATION_AND:"和",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"或",LOGIC_OPERATION_TOOLTIP_AND:"如果兩個輸入結果都為真,則返回真。",LOGIC_OPERATION_TOOLTIP_OR:"如果至少有一個輸入結果為真,則返回真。",LOGIC_TERNARY_CONDITION:"測試",LOGIC_TERNARY_HELPURL:"https://zh.wikipedia.org/wiki/條件運算符",LOGIC_TERNARY_IF_FALSE:"如果為假",LOGIC_TERNARY_IF_TRUE:"如果為真",LOGIC_TERNARY_TOOLTIP:"檢查“test”中的條件。如果條件為真則返回“if true”的值否則則返回“if false”的值。",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://zh.wikipedia.org/wiki/算術",MATH_ARITHMETIC_TOOLTIP_ADD:"返回兩個數字的和。",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"返回兩個數字的商。",MATH_ARITHMETIC_TOOLTIP_MINUS:"返回兩個數字的區別。",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"返回兩個數字的乘積。",MATH_ARITHMETIC_TOOLTIP_POWER:"返回第一個數的第二個數次冪。",MATH_CHANGE_HELPURL:"https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%B3%95",MATH_CHANGE_TITLE:"將變量 %1 的值增加 %2",MATH_CHANGE_TOOLTIP:"將一個數添加到變量“%1”。",MATH_CONSTANT_HELPURL:"https://zh.wikipedia.org/wiki/數學常數",MATH_CONSTANT_TOOLTIP:"返回一個常見常量:π (3.141......)e (2.718...)、φ (1.618...)、 sqrt(2) (1.414......)、sqrt(½) (0.707......)或 ∞(無窮大)。",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"限制數字 %1 介於 (低) %2 到 (高) %3",MATH_CONSTRAIN_TOOLTIP:"限制數字介於兩個指定的數字之間",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"強制轉換數據類型",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"%1 ÷ %2 商的整數部分",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"可被整除",MATH_IS_EVEN:"是偶數",MATH_IS_NEGATIVE:"為負",MATH_IS_ODD:"是奇數",MATH_IS_POSITIVE:"為正",MATH_IS_PRIME:"是質數",MATH_IS_TOOLTIP:"如果數字是偶數、奇數、非負整數、正數、負數或如果它可被某數字整除,則返回真或假。",MATH_IS_WHOLE:"為整數",MATH_MODULO_HELPURL:"https://zh.wikipedia.org/wiki/模除",MATH_MODULO_TITLE:"%1 ÷ %2 的余數",MATH_MODULO_TOOLTIP:"返回這兩個數字相除後的余數。",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"對數字進行位運算",MATH_NUMBER_HELPURL:"https://zh.wikipedia.org/wiki/數",MATH_NUMBER_TOOLTIP:"一個數字。",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"列表中的平均數",MATH_ONLIST_OPERATOR_MAX:"列表中的最大值",MATH_ONLIST_OPERATOR_MEDIAN:"列表中位數",MATH_ONLIST_OPERATOR_MIN:"列表中的最小值",MATH_ONLIST_OPERATOR_MODE:"列表模式",MATH_ONLIST_OPERATOR_RANDOM:"列表的隨機項",MATH_ONLIST_OPERATOR_STD_DEV:"列表中的標準差",MATH_ONLIST_OPERATOR_SUM:"列表中的數的總和",MATH_ONLIST_TOOLTIP_AVERAGE:"返回列表中的數值的平均值。",MATH_ONLIST_TOOLTIP_MAX:"返回列表中最大數。",MATH_ONLIST_TOOLTIP_MEDIAN:"返回列表中的中位數。",MATH_ONLIST_TOOLTIP_MIN:"返回列表中最小數。",MATH_ONLIST_TOOLTIP_MODE:"返回列表中的最常見的項的列表。",MATH_ONLIST_TOOLTIP_RANDOM:"從列表中返回一個隨機的元素。",MATH_ONLIST_TOOLTIP_STD_DEV:"返回列表的標準偏差。",MATH_ONLIST_TOOLTIP_SUM:"返回列表中的所有數字的和。",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_FLOAT_TITLE_RANDOM:"隨機小數",MATH_RANDOM_FLOAT_TOOLTIP:"返回介於包含0.0到1.0之間的隨機數。",MATH_RANDOM_INT_HELPURL:"https://zh.wikipedia.org/wiki/隨機數生成器",MATH_RANDOM_INT_TITLE:"從 %1 到 %2 之間的隨機整數",MATH_RANDOM_INT_TOOLTIP:"返回兩個指定的範圍(含)之間的隨機整數。",MATH_ROUND_HELPURL:"https://zh.wikipedia.org/wiki/數值修約",MATH_ROUND_OPERATOR_ROUND:"四舍五入",MATH_ROUND_OPERATOR_ROUNDDOWN:"向下舍入",MATH_ROUND_OPERATOR_ROUNDUP:"向上舍入",MATH_ROUND_TOOLTIP:"數字向上或向下舍入。",MATH_SINGLE_HELPURL:"https://zh.wikipedia.org/wiki/平方根",MATH_SINGLE_OP_ABSOLUTE:"絕對",MATH_SINGLE_OP_ROOT:"平方根",MATH_SINGLE_TOOLTIP_ABS:"返回一個數的絕對值。",MATH_SINGLE_TOOLTIP_EXP:"返回數的e次冪。",MATH_SINGLE_TOOLTIP_LN:"返回一個數的自然對數。",MATH_SINGLE_TOOLTIP_LOG10:"返回數字的對數。",MATH_SINGLE_TOOLTIP_NEG:"返回數的邏輯非。",MATH_SINGLE_TOOLTIP_POW10:"返回數的10次冪。",MATH_SINGLE_TOOLTIP_ROOT:"返回數的平方根。",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://zh.wikipedia.org/wiki/三角函數",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"返回一個數的反余弦值。",MATH_TRIG_TOOLTIP_ASIN:"返回一個數的反正弦值。",MATH_TRIG_TOOLTIP_ATAN:"返回指定角度的反正切值。",MATH_TRIG_TOOLTIP_COS:"返回指定角度的余弦值(非弧度)。",MATH_TRIG_TOOLTIP_SIN:"返回指定角度的正弦值(非弧度)。",MATH_TRIG_TOOLTIP_TAN:"返回指定角度的正切值(非弧度)。",NEW_VARIABLE:"創建變量...",NEW_VARIABLE_TITLE:"新變量的名稱:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"允許聲明",PROCEDURES_BEFORE_PARAMS:"參數:",PROCEDURES_CALLNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLNORETURN_TOOLTIP:"運行用戶定義的函數“%1”。",PROCEDURES_CALLRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_CALLRETURN_TOOLTIP:"運行用戶定義的函數“%1”並使用它的輸出值。",PROCEDURES_CALL_BEFORE_PARAMS:"與:",PROCEDURES_CREATE_DO:"創建“%1”",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"定義函數",PROCEDURES_DEFNORETURN_TOOLTIP:"創建一個不帶輸出值的函數。",PROCEDURES_DEFRETURN_HELPURL:"https://zh.wikipedia.org/wiki/子程序",PROCEDURES_DEFRETURN_RETURN:"返回",PROCEDURES_DEFRETURN_TOOLTIP:"創建一個有輸出值的函數。",PROCEDURES_DEF_DUPLICATE_WARNING:"警告: 此函數具有重復參數。",PROCEDURES_HIGHLIGHT_DEF:"突出顯示函數定義",PROCEDURES_IFRETURN_HELPURL:"http://c2.com/cgi/wiki?GuardClause",PROCEDURES_IFRETURN_TOOLTIP:"如果值為真,則返回第二個值。",PROCEDURES_IFRETURN_WARNING:"警告: 僅在定義函數內可使用此塊。",PROCEDURES_MUTATORARG_TITLE:"輸入名稱:",PROCEDURES_MUTATORARG_TOOLTIP:"添加函數輸入。",PROCEDURES_MUTATORCONTAINER_TITLE:"輸入",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"添加、刪除或重新排此函數的輸入。",REDO:"重做",REMOVE_COMMENT:"刪除註釋",RENAME_VARIABLE:"重命名變量...",RENAME_VARIABLE_TITLE:"將所有“%1”變量重命名為:",TEXT_APPEND_APPENDTEXT:"追加文本",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"",TEXT_APPEND_TOOLTIP:"將一些文本追加到變量“%1”。",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"轉為小寫",TEXT_CHANGECASE_OPERATOR_TITLECASE:"轉為首字母大寫",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"轉為大寫",TEXT_CHANGECASE_TOOLTIP:"使用不同的大小寫復制這段文字。",TEXT_CHARAT_FIRST:"獲得第一個字符",TEXT_CHARAT_FROM_END:"獲得倒數第#個字符",TEXT_CHARAT_FROM_START:"獲得字符#",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"從文本",TEXT_CHARAT_LAST:"獲得最後一個字符",TEXT_CHARAT_RANDOM:"獲取隨機的字母",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"返回位於指定位置的字母。",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"將一個項添加到文本中。",TEXT_CREATE_JOIN_TITLE_JOIN:"加入",TEXT_CREATE_JOIN_TOOLTIP:"添加、移除或重新排列各節來重新配置這個文本塊。",TEXT_GET_SUBSTRING_END_FROM_END:"到倒數第#個字符",TEXT_GET_SUBSTRING_END_FROM_START:"到字符#",TEXT_GET_SUBSTRING_END_LAST:"到最後一個字符",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"從文本",TEXT_GET_SUBSTRING_START_FIRST:"取得一段字串自第一個字符",TEXT_GET_SUBSTRING_START_FROM_END:"取得一段字串自倒數第#個字符",TEXT_GET_SUBSTRING_START_FROM_START:"取得一段字串自#",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"返回指定的部分文本。",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"在文本",TEXT_INDEXOF_OPERATOR_FIRST:"中查找 最先 出現",TEXT_INDEXOF_OPERATOR_LAST:"中查找 最後 出現",TEXT_INDEXOF_TAIL:"的位置",TEXT_INDEXOF_TOOLTIP:"返回在第二個字串中的第一/最後一個匹配項的索引值。如果未找到則返回%1。",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1是空的",TEXT_ISEMPTY_TOOLTIP:"如果提供的文本為空,則返回真。",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"轉為文本",TEXT_JOIN_TOOLTIP:"通過串起任意數量的項以建立一段文字。",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"%1的長度",TEXT_LENGTH_TOOLTIP:"返回提供文本的字母數(包括空格)。",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"打印%1",MPYTHON_INPUT_MESSAGE0:"輸入%1",TEXT_PRINT_TOOLTIP:"打印指定的文字、數字或其他值。",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"提示用戶輸入數字。",TEXT_PROMPT_TOOLTIP_TEXT:"提示用戶輸入一些文本。",TEXT_PROMPT_TYPE_NUMBER:"輸入數字並顯示提示消息",TEXT_PROMPT_TYPE_TEXT:"輸入數字並顯示提示消息",TEXT_TEXT_HELPURL:"https://zh.wikipedia.org/wiki/字符串",TEXT_TEXT_TOOLTIP:"一個字母、單詞或一行文本。",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"消除兩側空格",TEXT_TRIM_OPERATOR_LEFT:"消除左側空格",TEXT_TRIM_OPERATOR_RIGHT:"消除右側空格",TEXT_TRIM_TOOLTIP:"復制這段文字的同時刪除兩端多余的空格。",TODAY:"今天",UNDO:"撤銷",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"創建“設定%1”",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"返回此變量的值。",VARIABLES_SET:"將變量 %1 設定為 %2",VARIABLES_SET_CREATE_GET:"創建“獲得%1”",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"設置此變量,以使它和輸入值相等。",VARIABLE_ALREADY_EXISTS:"已存在名為“%1”的變量。"};IF.PROCEDURES_DEFRETURN_TITLE=IF.PROCEDURES_DEFNORETURN_TITLE,IF.CONTROLS_IF_IF_TITLE_IF=IF.CONTROLS_IF_MSG_IF,IF.CONTROLS_WHILEUNTIL_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.CONTROLS_IF_MSG_THEN=IF.CONTROLS_REPEAT_INPUT_DO,IF.TRY_EXCEPT_TRY="try",IF.CONTROLS_IF_ELSE_TITLE_ELSE=IF.CONTROLS_IF_MSG_ELSE,IF.CONTROLS_IF_ELSE_TITLE_ELSE=IF.CONTROLS_IF_MSG_ELSE,IF.PROCEDURES_DEFRETURN_PROCEDURE=IF.PROCEDURES_DEFNORETURN_PROCEDURE,IF.LISTS_GET_SUBLIST_INPUT_IN_LIST=IF.LISTS_INLIST,IF.LISTS_GET_INDEX_INPUT_IN_LIST=IF.LISTS_INLIST,IF.PROCEDURES_DEFRETURN_DO=IF.PROCEDURES_DEFNORETURN_DO,IF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=IF.CONTROLS_IF_MSG_ELSEIF,IF.LISTS_GET_INDEX_HELPURL=IF.LISTS_INDEX_OF_HELPURL,IF.CONTROLS_FOREACH_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.LISTS_SET_INDEX_INPUT_IN_LIST=IF.LISTS_INLIST,IF.CONTROLS_FOR_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.LISTS_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.TUPLE_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.DICT_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.SET_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.TEXT_APPEND_VARIABLE=IF.VARIABLES_DEFAULT_NAME,IF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=IF.VARIABLES_DEFAULT_NAME,IF.MATH_CHANGE_TITLE_ITEM=IF.VARIABLES_DEFAULT_NAME,IF.LISTS_INDEX_OF_INPUT_IN_LIST=IF.LISTS_INLIST,IF.PROCEDURES_DEFRETURN_COMMENT=IF.PROCEDURES_DEFNORETURN_COMMENT,IF.MPYTHON_MAIN_HELPURL="",IF.MPYTHON_MAIN_TOOLTIP="這個圖形塊不是必須使用。但使用這個圖形塊,能使得程序結構更規整。",IF.MPYTHON_MAIN_MESSAGE0="主程式",IF.MPYTHON_OPEN="開啟",IF.MPYTHON_CLOSE="關閉",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",IF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",IF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",IF.MPYTHON_AI_SENSOR_ENABLE_START="開始抓取圖像",IF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取圖像",IF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平鏡像",IF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻轉",IF.MPYTHON_AI_SENSOR_SETS_CONTRAST="對比度",IF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",IF.MPYTHON_AI_SENSOR_SETS_SATURATION="飽和度",IF.MPYTHON_AI2_FACE_YOLO="人臉識別",IF.MPYTHON_AI2_CLASS_20_YOLO="20類識別",IF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",IF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",IF.TEXT_APPEND_TEXT_HELPURL="",IF.TEXT_APPEND_TEXT_TOOLTIP="",IF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",IF.CHINA_CITY_MESSAGE0="%1 %2",IF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",IF.CHINA_CITY_CNNAME="中文簡稱",IF.CHINA_CITY_PINYIN="拼音",IF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",IF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",IF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",IF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",IF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天氣] %1 信息 %2 地理位置 %3 API私鑰 %4 %5 語言 %6 %7 溫度單位 %8",IF.MPYTHON_SENIVERSE_WEATHER_API_1="天氣實況",IF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天氣預報",IF.MPYTHON_SENIVERSE_WEATHER_API_3="6項生活指數",IF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="攝氏度",IF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="華氏度",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="設定 %1 為 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天氣] 通用字段 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天氣] 天氣實況 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="風向角度範圍0~360\n風速單位km/h當unit=c時、mph當unit=f時",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天氣] 3天天氣預報 %2 的 %3",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天氣] 6項生活指數 %2",IF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名稱",IF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",IF.MPYTHON_SENIVERSE_WEATHER_country="國家代碼",IF.MPYTHON_SENIVERSE_WEATHER_path="行政歸屬",IF.MPYTHON_SENIVERSE_WEATHER_timezone="時區",IF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",IF.MPYTHON_SENIVERSE_WEATHER_last_update_date="數據更新日期",IF.MPYTHON_SENIVERSE_WEATHER_last_update="數據更新時間",IF.MPYTHON_SENIVERSE_WEATHER_object="原始字典對象",IF.MPYTHON_SENIVERSE_WEATHER_text="天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code="天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_temperature="溫度",IF.MPYTHON_SENIVERSE_WEATHER_today="今天",IF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",IF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="後天",IF.MPYTHON_SENIVERSE_WEATHER_date="日期",IF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_text_night="晚間天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code_night="晚間天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_high="當天最高溫度",IF.MPYTHON_SENIVERSE_WEATHER_low="當天最低溫度",IF.MPYTHON_SENIVERSE_WEATHER_wind_direction="風向",IF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="風向角度",IF.MPYTHON_SENIVERSE_WEATHER_wind_speed="風速",IF.MPYTHON_SENIVERSE_WEATHER_wind_scale="風力等級",IF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗車指數",IF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指數",IF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指數",IF.MPYTHON_SENIVERSE_WEATHER_sport="運動指數",IF.MPYTHON_SENIVERSE_WEATHER_travel="旅遊指數",IF.MPYTHON_SENIVERSE_WEATHER_uv="紫外線指數",IF.MPYTHON_RED="紅",IF.MPYTHON_GREEN="綠",IF.MPYTHON_BLUE="藍",IF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射頻卡 讀取電子錢包 數據",IF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="讀取塊數據長度16位元組",IF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射頻卡 寫入電子錢包 數據%1",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="寫入塊數據長度16位元組",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射頻卡 給電子錢包%1 金額%2",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",IF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣費",IF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射頻卡 獲取電子錢包餘額",IF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射頻卡 獲取序號",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射頻卡 初始化電子錢包",IF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射頻卡 掃描",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超聲波",IF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",IF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被觸發 引腳%2",IF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",IF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模擬值 引腳%2",IF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",IF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="設置LED燈 輸出%1 引腳%2",IF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循跡傳感器 檢測為黑 引腳%1",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打開 %1 引腳 %2",IF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="關閉 %1 引腳 %2",IF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",IF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",IF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 %2 REC %3 PLAY %4",IF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 %1 REC %2 PLAY %3",IF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",IF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="錄音",IF.MPYTHON_BLUEBIT_IR_RECEIVE="紅外探測",IF.MPYTHON_BLUEBIT_SOUND="麥克風",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循跡",IF.MPYTHON_BLUEBIT_VIBRATION="震動",IF.MPYTHON_BLUEBIT_RFID="射頻卡",IF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指紋",IF.MPYTHON_BLUEBIT_PIR="人體感應",IF.MPYTHON_BLUEBIT_MAGNETIC="門磁開關",IF.MPYTHON_BLUEBIT_BUTTON="按鍵",IF.MPYTHON_BLUEBIT_RELAY="繼電器",IF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位開關",IF.MPYTHON_BLUEBIT_FAN="風扇",IF.MPYTHON_BLUEBIT_LASER="激光",IF.MPYTHON_BLUEBIT_NTC_TEMP="熱敏電阻",IF.MPYTHON_BLUEBIT_WATER="水位",IF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤濕度",IF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋鈕電位器",IF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑電位器",IF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模擬光線",IF.MPYTHON_BLUEBIT_LM35_TEMP="LM35溫度",IF.MPYTHON_BLUEBIT_SMOKE="煙霧",IF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正轉",IF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反轉",IF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",IF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤濕度",IF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤濕度(新)%1",IF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",IF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",IF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",IF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",IF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打開風扇 %1",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 關閉風扇 %1",IF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",IF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",IF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",IF.BLUE="A",IF.GREEN="B",IF.RED="C",IF.YELLOW="D",IF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",IF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",IF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度0~100",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打開直流電機 %1 %2 速度 %3",IF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度0~100",IF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 關閉直流電機",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="編碼電機 模式 %1 撥碼 %2 M1速度 %3 M2速度 %4",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止編碼電機轉動",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止編碼電機轉動 %1",IF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",IF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",IF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",IF.MPYTHON_BLUEBIT_TEMPERATURE="溫度",IF.MPYTHON_BLUEBIT_HUMIDITY="濕度",IF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",IF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",IF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="設MIDI音量 %1",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",IF.MIDI_PIANO="平臺鋼琴",IF.MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",IF.MIDI_ELECTRICGRANDPIANO="電鋼琴",IF.MIDI_HARPSICHORD="大鍵琴",IF.MIDI_CELESTA="鋼片琴",IF.MIDI_GLOCKENSPIEL="鍾琴",IF.MIDI_MUSICALBOX="音樂盒",IF.MIDI_MARIMBA="馬林巴琴",IF.MIDI_XYLOPHONE="木琴",IF.MIDI_TUBULARBELL="管鐘",IF.MIDI_DULCIMER="洋琴",IF.MIDI_VIBRAPHONE="顫音琴",IF.MIDI_ORGAN="音栓風琴",IF.MIDI_ACOUSTIC_GUITAR="木吉他",IF.MIDI_ELECTRIC_GUITAR="電吉他",IF.MIDI_ACOUSTIC_BASS="民謠貝斯",IF.MIDI_STRING_ENSEMBLE="弦樂合奏",IF.MIDI_VIOLIN="小提琴",IF.MIDI_TRUMPET="小號",IF.MIDI_SAX="薩克斯",IF.MIDI_STEEL_DRUMS="鋼鼓",IF.MIDI_LEAD="合成音主旋律",IF.MIDI_PAD="合成音襯底",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="設MIDI樂器 %1",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",IF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音調 %2",IF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="設點陣亮度等級 %1",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",IF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="點陣 %1",IF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",IF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="點陣設置生效",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="設MP3音量 %1",IF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量0~30",IF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",IF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚連接音樂模塊的 RXI 引脚",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",IF.MPYTHON_PLUS_1="加1",IF.MPYTHON_MINUS_1="減1",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",IF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="Mp3 單曲循環 %1",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="設擴展端口 IO %2 為 %1",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",IF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="擴展端口值 IO %1",IF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="設擴展端口 IO %2 為 %1",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",IF.MPYTHON_LCD_OBJECT_HELPURL="",IF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",IF.MPYTHON_LCD_OBJECT_TOOLTIP="",IF.MPYTHON_LCD_PRINT_HELPURL="",IF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 顯示 %1",IF.MPYTHON_LCD_PRINT_TOOLTIP="",IF.MPYTHON_LCD_HOME_HELPURL="",IF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光標 回到原點",IF.MPYTHON_LCD_HOME_TOOLTIP="",IF.MPYTHON_LCD_CURSOR_HELPURL="",IF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光標 %1",IF.MPYTHON_LCD_CURSOR_TOOLTIP="",IF.MPYTHON_LCD_SET_CURSOR_HELPURL="",IF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始點 行 %2 列 %1",IF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列從0開始計數",IF.MPYTHON_LCD_CLEAR_HELPURL="",IF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",IF.MPYTHON_LCD_CLEAR_TOOLTIP="",IF.MPYTHON_LCD_CURSOR_BLINK="閃爍",IF.MPYTHON_LCD_CURSOR_NO_BLINK="不閃爍",IF.MPYTHON_RIGHT_TO_LEFT="從右向左",IF.MPYTHON_LEFT_TO_RIGHT="從左向右",IF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",IF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",IF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",IF.MPYTHON_LCD_MOVE_HELPURL="",IF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滾動一格",IF.MPYTHON_LCD_MOVE_TOOLTIP="",IF.MPYTHON_IR_TRANS_HELPURL="",IF.MPYTHON_IR_TRANS_MESSAGE0="紅外發送 單字節字符串 %1 tx 引脚 %2",IF.MPYTHON_IR_TRANS_TOOLTIP="\n單字節字符串\n'A', 'b', '1'等\n",IF.OUTPUT_PIN_HELPURL="",IF.OUTPUT_PIN_MESSAGE0="%1",IF.OUTPUT_PIN_TOOLTIP="",IF.INPUT_PIN_HELPURL="",IF.INPUT_PIN_MESSAGE0="%1",IF.INPUT_PIN_TOOLTIP="",IF.READ_ANALOG_PIN_HELPURL="",IF.READ_ANALOG_PIN_MESSAGE0="%1",IF.READ_ANALOG_PIN_TOOLTIP="",IF.SET_DIGITAL_HELPURL="",IF.SET_DIGITAL_MESSAGE0="%1",IF.SET_DIGITAL_TOOLTIP="",IF.SET_ANALOG_HELPURL="",IF.SET_ANALOG_MESSAGE0="%1",IF.SET_ANALOG_TOOLTIP="",IF.ALL_PIN_HELPURL="",IF.ALL_PIN_MESSAGE0="%1",IF.ALL_PIN_TOOLTIP="",IF.PWM_PIN_HELPURL="",IF.PWM_PIN_MESSAGE0="%1",IF.PWM_PIN_TOOLTIP="",IF.DH11_HUM_TEM_PIN_HELPURL="",IF.DH11_HUM_TEM_PIN_MESSAGE0="%1",IF.DH11_HUM_TEM_PIN_TOOLTIP="",IF.UART_TX_PIN_HELPURL="",IF.UART_TX_PIN_MESSAGE0="%1",IF.UART_TX_PIN_TOOLTIP="",IF.UART_RX_PIN_HELPURL="",IF.UART_RX_PIN_MESSAGE0="%1",IF.UART_RX_PIN_TOOLTIP="",IF.I2C_PIN_HELPURL="",IF.I2C_PIN_MESSAGE0="%1",IF.I2C_PIN_TOOLTIP="",IF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",IF.MQTT_COMMON_SETUP_TOOLTIP="",IF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",IF.MQTT_TENCENT_SETUP_TOOLTIP="",IF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",IF.MQTT_TENCENT_SETUPS_TOOLTIP="",IF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服務器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",IF.MQTT_SETUP_TOOLTIP="",IF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_CONNECT_MESSAGE0="連接 MQTT",IF.MQTT_CONNECT_TOOLTIP="",IF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_PUBLISH_MESSAGE0="發佈 %1 至 主題 %2",IF.MQTT_PUBLISH_TOOLTIP="",IF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_REC_FROM_TOPIC_MESSAGE0="當從主題 %1 接收到 %2 時",IF.MQTT_REC_FROM_TOPIC_TOOLTIP="",IF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_RECEIVE_MESSAGE0="當從主題 %1 接收到 %2 時",IF.MQTT_RECEIVE_TOOLTIP='參數"主題"只接受變量',IF.MQTT_RECEIVED_MESSAGE0="當從主題 %1 接收到消息 時",IF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_MESSAGE_MESSAGE0="從 MQTT 收到的消息",IF.MQTT_MESSAGE_TOOLTIP="",IF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_WAIT_MSG_MESSAGE0="等待主題消息 以 %1 模式",IF.MQTT_WAIT_MSG_TOOLTIP="建議放在'一直重複'中運行",IF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_DISCONNECT_MESSAGE0="MQTT 斷開連接",IF.MQTT_DISCONNECT_TOOLTIP="",IF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",IF.MQTT_LAST_WILL_MESSAGE0="設置 MQTT 主題 %2 離綫消息 %1",IF.MQTT_LAST_WILL_TOOLTIP="設置 MQTT last will 消息。應該在 connect() 之前調用。",IF.MPYTHON_SIOT_CONNECT_HELPURL="",IF.MPYTHON_SIOT_CONNECT_TOOLTIP="",IF.MPYTHON_SIOT_CONNECT_MESSAGE0="創建 SIoT 連接 %1 客戶端ID %2 服務器 %3 用戶 %4 密碼 %5",IF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",IF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",IF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 連接成功 ?",IF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",IF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",IF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 訂閱主題",IF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="點擊左邊星號 訂閱 SIoT 主題",IF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 訂閱 主題1",IF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主題",IF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",IF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多訂閱 5 個主題",IF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",IF.MPYTHON_SIOT_DISCONNECT_HELPURL="",IF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",IF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 斷開連接",IF.MPYTHON_SIOT_MESSAGE_HELPURL="",IF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",IF.MPYTHON_SIOT_MESSAGE_MESSAGE0="從 SIoT 收到的消息",IF.MPYTHON_SIOT_TOPIC1="主題1",IF.MPYTHON_SIOT_TOPIC2="主題2",IF.MPYTHON_SIOT_TOPIC3="主題3",IF.MPYTHON_SIOT_TOPIC4="主題4",IF.MPYTHON_SIOT_TOPIC5="主題5",IF.MPYTHON_SIOT_PUBLISH_HELPURL="",IF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",IF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 發送消息 %1 到 %2",IF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 發送消息 %1 到 主題 %2",IF.MPYTHON_SIOT_RECEIVE_HELPURL="",IF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",IF.MPYTHON_SIOT_RECEIVE_MESSAGE0="當從 SIoT %1 收到消息時 %2 執行 %3",IF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="當從 SIoT 主題 %1 收到消息時 %2 執行 %3",IF.MPYTHON_IR_RECV_HELPURL="",IF.MPYTHON_IR_RECV_MESSAGE0="紅外接收 整型 rx 引脚 %1",IF.MPYTHON_IR_RECV_TOOLTIP="第一次接收總爲空",IF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 顯示 %1 x %2 y %3",IF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",IF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",IF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 顯示圖像 x %1 y %2 寬 %3 高 %4 16進制圖像數據 %5",IF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",IF.mpython_bme280_hum_tem_pre_MESSAGE0="气象 %1",IF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",IF.mpythonbox_sound_MESSAGE0="聲音值",IF.mpythonbox_sound_TOOLTIP="採樣數據为0~4095。",IF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",IF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",IF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆電阻採樣值。範圍0~4095。",IF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按鍵%1",IF.MPYTHONBOX_5BUTTON_TOOLTIP="",IF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_MOTOR_MESSAGE0="馬達 速度%1",IF.MPYTHONBOX_MOTOR_TOOLTIP="馬達速度範圍±100。正值表示正轉負值則反。",IF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",IF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超聲波",IF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超聲波測距獲取超聲波感測器測距值組織cm。範圍3~340CM",IF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",IF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人體紅外",IF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人體紅外觸發值。當為1時表示已觸發當為0時表示未觸發。",IF.MPYTHONBOX_RGB_pixel_HELPURL="",IF.MPYTHONBOX_RGB_pixel_MESSAGE0="設定第 %1列 %2行 R%3 G%4 B%5",IF.MPYTHONBOX_RGB_pixel_TOOLTIP="設定第多少列行的RGB顏色",IF.MPYTHONBOX_RGB_get_pixel_HELPURL="",IF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",IF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列行位置的RGB顏色",IF.MPYTHONBOX_RGB_ImageText_HELPURL="",IF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滾動顯示文本%1 速度%2",IF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滾動顯示文字亮度為0不亮9最亮",IF.MPYTHONBOX_RGB_SetImage_HELPURL="",IF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",IF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建圖像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",IF.MPYTHONBOX_RGB_Image_HELPURL="",IF.MPYTHONBOX_RGB_Image_MESSAGE0="顯示影像%1",IF.MPYTHONBOX_RGB_Image_TOOLTIP="顯示影像",IF.MPYTHONBOX_RGB_SetImage_HELPURL="",IF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建影像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",IF.MPYTHONBOX_RGB_SetImage_TOOLTIP="創建新影像每行每位數代表第幾比特燈默認紅色亮度為0不亮9最亮。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="顯示影像/文本 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="顯示影像或文字消息。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="顯示影像 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="顯示影像。",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="複製影像 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="複製影像。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",IF.MPYTHONBOX_RGB_ImageCot_HELPURL="",IF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪影像%1 列%2 行%3 宽%4 高%5",IF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪影像",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="內寘影像 %1",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="選擇一個內寘的影像。",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移影像 %1 %2 %3 位",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移動影像,並返回移動後的結果。",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",IF.MPYTHONBOX_RGB_clear_HELPURL="",IF.MPYTHONBOX_RGB_clear_MESSAGE0="關閉所有 RGB 燈",IF.MPYTHONBOX_RGB_clear_TOOLTIP="",IF.MPYTHONBOX_RGB_pixel_return_HELPURL="",IF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 顏色",IF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列行的RGB顏色",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1軸加速度",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1軸角速度",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",IF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1歐拉角",IF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回當前歐拉角(Pitch,Roll,Yaw),單位角度",IF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元數",IF.MPYTHONBOX_QUATERNION_TOOLTIP="返回當前四元數(w,x,y,z)",IF.MPYTHONBOX_CAMERA_LED_HELPURL="",IF.MPYTHONBOX_CAMERA_LED_MESSAGE0="攝像燈%1",IF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led燈分為打開和關閉兩種狀態",IF.LIST_FIRST_INDEX_HELPURL="",IF.LIST_FIRST_INDEX_MESSAGE0="項 %1 在列表 %2 %3 出現的位置",IF.LIST_FIRST_INDEX_TOOLTIP="",IF.MPYTHON_AI_LCD_INIT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",IF.MPYTHON_AI_LCD_INIT_MESSAGE0="螢幕 初始化 ",IF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 螢幕顯示",IF.MPYTHON_AI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",IF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="監視器 初始化",IF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化單目監視器",IF.MPYTHON_AI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",IF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="監視器%1",IF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取影像",IF.MPYTHON_AI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",IF.MPYTHON_AI_LCD_TEXT_MESSAGE0="顯示文字 x %1 y %2 内容 %3",IF.MPYTHON_AI_LCD_TEXT_TOOLTIP="僅支持字母和數位",IF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",IF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="監視器 跳過幀數%1 毫秒%2内的影像",IF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="監視器跳過指定幀數或者跳過指定時間內的影像",IF.MPYTHON_AI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",IF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 監視器 获取%1",IF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)監視器返回参数(宽高,图像帧的格式,图像帧的大小)",IF.MPYTHON_AI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",IF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="監視器 设置%1 为%2",IF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置監視器对比度,亮度,饱和度范围为[-2,+2]",IF.MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",IF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="監視器 自動增益%1",IF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1開啟監視器自動增益0關閉監視器自動增益",IF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",IF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="監視器 白平衡%1",IF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="設定攝像自動白平衡模式默認打開。True為打開False為關閉自動白平衡。若您想追跡顏色則需關閉白平衡。",IF.MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",IF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="監視器 %1 %2",IF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1表示開啟水准鏡像 0表示關閉水准鏡像",IF.MPYTHON_AI_LCD_DISPLAY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",IF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 顯示生效",IF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上顯示",IF.MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",IF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 顯示生效 x%1 y%2 宽%3 高%4",IF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上顯示一張圖片",IF.MPYTHON_AI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",IF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="監視器 獲取影像",IF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制監視器捕捉影像",IF.MPYTHON_AI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人臉識別",IF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",IF.MPYTHON_AI_LCD_SHOW_REC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",IF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在影像上繪製矩形",IF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在影像上繪製線條",IF.MPYTHON_AI_LCD_SHOW_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="螢幕 顯示清空",IF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="將液晶屏清空為黑色或者指定的顏色",IF.MPYTHON_AI_LCD_CLEAR_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 顏色",IF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某個座標點的顏色",IF.MPYTHON_AI_LCD_return_colour_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圓形%1 x%2 y%3 半径%4 顏色为 R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在影像上繪製圓形",IF.MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_TEXT_MOST_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="顯示文字 x %1 y %2 内容 %3 顏色为R%4 G%5 B%6 字号%7",IF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="僅支持字母和數位",IF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字線 x%1 y%2 顏色为R%3 G%4 B%5 尺寸%6 加粗%7",IF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在影像上繪製十字線",IF.MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭頭 x1%1 y1%2 到x2%3 y2%4 顏色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在影像上繪製一個箭頭",IF.MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",IF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL=".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",IF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="顯示影像 路徑%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="顯示影像",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="圖像轉換為%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻轉是將二進位影像0黑色變為1白色1白色變為0黑色非常快速地翻轉二進位影像中的所有點數值。",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="影像 從笛卡爾座標到%1 座標重新投影 反向%2",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",IF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",IF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="影像 膨胀 級別%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨脹就是對影像高亮部分進行“領域擴張”,效果圖擁有比原圖更大的高亮區域。",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="影像 中点濾波 級別%1 滤波%2",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制影像混合的最小/最大程度。0只適用於最小濾波1僅用於最大濾波。",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="影像 众数濾波 級別%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在影像上運行眾數濾波,用相鄰點數的模式替換每個點數。",IF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",IF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="影像 模糊滤波 级别%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式濾波器的標準平均值模糊濾波。",IF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",IF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="影像 卡通化 級別%1 起始點數差异%2 相鄰點數差异%3",IF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",IF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",IF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="影像 3D旋轉 上下旋轉%1 左右旋轉%2 度数%3 左右移动%4 上下移动%5 缩放%6",IF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通過執行幀緩衝區的3D旋轉來糾正影像中的透視問題。",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="將影像的副本保存到SD卡 图像名%1 影像顯示區域 x%2 y%3 宽%4 高%5",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="將影像的副本保存到SD卡",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="創建一個影像對象的副本 複製影像區域 x%1 y%2 宽%3 高%4",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="創建一個影像對象的副本",IF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="手寫數位識別",IF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="手寫數位識別",IF.MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",IF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",IF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",IF.MPYTHON_AI_LCD_COLOUR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",IF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",IF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",IF.MPYTHON_AI_SENSOR_PATTERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",IF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="監視器 初始化 點數模式 %1",IF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用於設定監視器點數模式有黑白和rgb彩色",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="追跡色塊 顯示%1",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.MPYTHON_AI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 人臉",IF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",IF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 人臉識別",IF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",IF.MPYTHON_AI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(實驗箱)獲取識別後人臉的 所有參數",IF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",IF.MPYTHON_AI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(實驗箱)獲取識別後人臉的 x座標",IF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",IF.MPYTHON_AI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(實驗箱)獲取識別後人臉的 y座標",IF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",IF.MPYTHON_AI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(實驗箱)獲取識別後人臉的 寬度",IF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",IF.MPYTHON_AI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(實驗箱)獲取識別後人臉的 高度",IF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",IF.MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(實驗箱)獲取識別後人臉的 置信度",IF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",IF.MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(實驗箱)獲取識別後人臉的 數量",IF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",IF.MPYTHON_AI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 20類",IF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以識別20個類型分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 20類識別",IF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",IF.MPYTHON_AI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(實驗箱)獲取識別後20類的 所有參數",IF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",IF.MPYTHON_AI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(實驗箱)獲取識別後20類的 x座標",IF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",IF.MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(實驗箱)獲取識別後20類的 y座標",IF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",IF.MPYTHON_AI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(實驗箱)獲取識別後20類的 寬度",IF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",IF.MPYTHON_AI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(實驗箱)獲取識別後20類的 高度",IF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",IF.MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(實驗箱)獲取識別後20類的 置信度",IF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",IF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(實驗箱)獲取識別後20類的 數量",IF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",IF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(實驗箱)獲取識別後20類的 類型",IF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(實驗箱)獲取識別後20類的 類型數量",IF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",IF.MPYTHON_AI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(實驗箱)選擇訓練模型 手寫數字",IF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",IF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(實驗箱)調用攝像頭進行 手寫數字識別",IF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(實驗箱)獲取識別後手寫數字的 所有參數",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(實驗箱)獲取識別後手寫數字的 數字",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(實驗箱)獲取識別後手寫數字的 置信度",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",IF.MPYTHON_AI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",IF.MPYTHON_AI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",IF.MPYTHON_AI_IMAGE_LAB_TOOLTIP="image寻找颜色",IF.MPYTHON_AI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",IF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(實驗箱)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",IF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追蹤色塊",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(實驗箱)追蹤色塊 顯示%1",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(實驗箱)%1獲取識別後色塊的 所有參數",IF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 x座標",IF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 y座標",IF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_W_MESSAGE0="(實驗箱)%1獲取識別後色塊的 寬度",IF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_H_MESSAGE0="(實驗箱)%1獲取識別後色塊的 高度",IF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(實驗箱)%1獲取識別後色塊的 數量",IF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心x座標",IF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心y座標",IF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(實驗箱)%1獲取識別後色塊的 矩形",IF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 訓練 %1",IF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",IF.MPYTHON_DRILL_WEIGHT_HELPURL="",IF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",IF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="實例化 線性迴歸直線",IF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",IF.MPYTHON_DRILL_TITLE_HELPURL="",IF.MPYTHON_DRILL_TITLE_MESSAGE0="標題%1 字號%2",IF.MPYTHON_DRILL_TITLE_TOOLTIP="",IF.MPYTHON_DRILL_LABEL_HELPURL="",IF.MPYTHON_DRILL_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",IF.MPYTHON_DRILL_LABEL_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",IF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真實數據 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",IF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",IF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",IF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="預測線性迴歸直線 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",IF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",IF.MPYTHON_DRILL_LEGEND_HELPURL="",IF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示圖例",IF.MPYTHON_DRILL_LEGEND_TOOLTIP="",IF.MPYTHON_DRILL_SHOW_HELPURL="",IF.MPYTHON_DRILL_SHOW_MESSAGE0="顯示圖片",IF.MPYTHON_DRILL_SHOW_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",IF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="返回對應鍵值%1",IF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_full_line="實線",IF.MPYTHON_DRILL_DRILL_dash_line="破折線",IF.MPYTHON_DRILL_DRILL_chain_line="點劃線",IF.MPYTHON_DRILL_DRILL_imaginary_line="虛線",IF.MPYTHON_DRILL_DRILL_dot="點",IF.MPYTHON_DRILL_DRILL_pixel="像素",IF.MPYTHON_DRILL_DRILL_solid_rim="實心圈",IF.MPYTHON_DRILL_DRILL_down_triangle="下三角",IF.MPYTHON_DRILL_DRILL_up_triangle="上三角",IF.MPYTHON_DRILL_DRILL_right_triangle="右三角",IF.MPYTHON_DRILL_DRILL_left_triangle="左三角",IF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",IF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",IF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",IF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",IF.MPYTHON_DRILL_DRILL_solid_square="實心方形",IF.MPYTHON_DRILL_DRILL_solid_pentagon="實心五角",IF.MPYTHON_DRILL_DRILL_star="星形",IF.MPYTHON_DRILL_DRILL_vertical_hexagon="豎六邊形",IF.MPYTHON_DRILL_DRILL_across_hexagon="橫六邊形",IF.MPYTHON_DRILL_DRILL_cross="十字",IF.MPYTHON_DRILL_DRILL_X="X",IF.MPYTHON_DRILL_DRILL_rhombus="菱形",IF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",IF.MPYTHON_DRILL_DRILL_vertical_line="垂直線",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鳶尾花數據集",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="採用Python的Sklearn機器學習庫中自帶的數據集——鳶尾花數據集。簡單分析數據集之間特徵的關係圖,根據花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特徵進行繪圖虹膜植物數據集可以從龍骨數據集數據集網站獲取,也可以直接從Sklearn。數據集機器學習包得到。數據集共包含4個特徵變量,1個類別變量,共150個有樣本。類別變量分別對應鳶尾花的三個亞屬,分別是山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)分別用(0,1,2)來做映射",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鳶尾花 主成分分析",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鳶尾花 因子分析 3D",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鳶尾花 因子分析",IF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="預測圖示 鳶尾花類型%1 呈現內容 x%3 y%4 呈現種類%2 顏色爲 r%5 g%6 b%7 標題%8 向上合併%9",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="預測圖示 呈現內容 x%1 y%2 呈現種類%3 顏色爲 r%4 g%5 b%6 標題%7",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 預測圖示 呈現內容 x朝向%1 y朝向%2 z朝向%3 顏色爲 r%4 g%5 b%6 標題%7",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="標題%1 字號%2",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 標題%1 字號%2",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 標籤%1 標題%2 字號%3",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示圖例",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="顯示圖片",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x, y座標",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150條記錄,分別代表50條山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor),維吉尼亞鳶尾(Iris-virginica)",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="變色鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="維吉尼亞鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散點圖",IF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde圖",IF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱圖",IF.MPYTHONS_FLOWER_DE_LUCE_merge="合並",IF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合並",IF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼長度",IF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼寬度",IF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣長度",IF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣寬度",IF.MPYTHONS_CONVERT_PICTURE_HELPURL="",IF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="將圖片轉換爲28²二值圖%1 待處理的圖片存儲路徑%2 處理後的圖片存儲路徑%3 格式%4",IF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通過串口把WIF傳給語音助手",IF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",IF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手寫數字數 據存儲路徑%1",IF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手寫數字字符庫",IF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",IF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手寫數字圖像 存儲路徑%1",IF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="",IF.MPYTHONS_SHOW_NUMBER_HELPURL="",IF.MPYTHONS_SHOW_NUMBER_MESSAGE0="顯示手寫數字圖像",IF.MPYTHONS_SHOW_NUMBER_TOOLTIP="",IF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",IF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="識別手寫數字圖像 存儲路徑%1",IF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="",IF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",IF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="創建變量%1 初始化 神經網絡張量 變量名%2",IF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",IF.MPYTHON_DRILL_RESHAPE_MESSAGE0="創建變量%1 將輸入照片變量%2 轉換爲 神經網絡輸出張量%3",IF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",IF.MPYTHON_DRILL_RESHAPE_HELPURL="",IF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="創建變量%1 共享變量%2 初始化模式%3",IF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",IF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="產生截斷正態分佈隨機數 輸出張量%1 標準差%2",IF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",IF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",IF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="創建常量 數值%1 輸出張量%2",IF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",IF.MPYTHON_NUMBER_CONSTANT_HELPURL="",IF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神經網絡輸出張量%1 共享變量%2 步長%3 填充%4",IF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",IF.MPYTHON_NUMBER_CONV2D_HELPURL="",IF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="張量%1",IF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",IF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷積二維層 變量%1 %2",IF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",IF.MPYTHON_NUMBER_RELU_MESSAGE0="創建變量%1 Relu正向激勵函數 卷積二維層%2",IF.MPYTHON_NUMBER_RELU_TOOLTIP="",IF.MPYTHON_NUMBER_RELU_HELPURL="",IF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二維層 變量%1 卷積層%2 池化窗口%3 步長%4 填充%5",IF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",IF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",IF.MPYTHON_NUMBER_MATMUL_MESSAGE0="兩個參數的對應元素各自相乘 x%1 y%2",IF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",IF.MPYTHON_NUMBER_MATMUL_HELPURL="",IF.MPYTHON_NUMBER_ADD_MESSAGE0="全連接層 變量%1 兩個參數的元素相加 x%2 y%3",IF.MPYTHON_NUMBER_ADD_TOOLTIP="",IF.MPYTHON_NUMBER_ADD_HELPURL="",IF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="創建變量%1 預測模型準確度 變量名%2",IF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",IF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",IF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="創建變量%1 損失函數%2",IF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",IF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",IF.MPYTHON_NUMBER_LOG_MESSAGE0="自然對數 %1",IF.MPYTHON_NUMBER_LOG_TOOLTIP="",IF.MPYTHON_NUMBER_LOG_HELPURL="",IF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="壓縮求和%1 維度%2",IF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因爲日誌函數是單調遞增的,所以logP (Y | X)也會達到最大值,因此在前面加上負號之後,最大化P (Y | X)就等價於最小化了。",IF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",IF.MPYTHON_NUMBER_TRAIN_MESSAGE0="優化學習速率 %1",IF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",IF.MPYTHON_NUMBER_TRAIN_HELPURL="",IF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="創建變量%1 優化張量%2",IF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",IF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",IF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",IF.MPYTHON_NUMBER_INIT_TOOLTIP="",IF.MPYTHON_NUMBER_INIT_HELPURL="",IF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="選擇 手寫數字集%1 數量%2",IF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",IF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",IF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",IF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="預測模型%1 擬合度%2 會話%3",IF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",IF.MPYTHON_NUMBER_EQUAL_MESSAGE0="兩個張量的每一維是否相等 x%1 y%2",IF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",IF.MPYTHON_NUMBER_EQUAL_HELPURL="",IF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="張量%1 按%2比較返回最大值的索引",IF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",IF.MPYTHON_NUMBER_ARGMAX_HELPURL="",IF.MPYTHON_NUMBER_CAST_MESSAGE0="轉爲浮點型 %1",IF.MPYTHON_NUMBER_CAST_TOOLTIP="",IF.MPYTHON_NUMBER_CAST_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手寫數字識別模型 變量名%1 存儲路徑%2",IF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手寫數字識別模型保存路徑",IF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加載模型%1 存儲路徑%2",IF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="",IF.MPYTHONS_NUMBER_SAME="包含邊界",IF.MPYTHONS_NUMBER_VALID="不包含邊界",IF.MPYTHONS_NUMBER_train="訓練",IF.MPYTHONS_NUMBER_test="測試",IF.MPYTHONS_NUMBER_row="行",IF.MPYTHONS_NUMBER_rank="列",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="調用攝像頭 %1",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="調用筆記本內置攝像頭,所以參數爲0,如果有其他的攝像頭可以調整參數爲1,2",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="關閉攝像頭",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="刪除所有窗口",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加載模型 存儲路徑%1",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="從攝像頭讀取圖片",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有讀取圖片就真的,否則假;第二個參數是框架,是當前截取一幀的圖片。",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="轉爲灰度圖片",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="檢測人臉 每次圖像尺寸減小比例%1",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人臉區域顯示矩形框 顏色爲 紅%1 綠%2 藍%3",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存圖像 位置%1 ID%2 編號%3",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中顯示圖像 文件名%1",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通過esc鍵 退出",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置頂時使用纔有效果",IF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="獲得人臉在圖像中的座標值 人臉%1",IF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否讀取圖片",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打開攝像頭",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="獲取照片及id 照片存儲路徑%1",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化訓練模型",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="開始訓練模型",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1訓練模型 存儲路徑%2",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人臉模型訓練 數目",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口顯示 識別的名字%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",IF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口顯示 識別的置信度%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="預測人臉 名字%1 置信度%2",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="寫入",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="讀取",IF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",IF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",IF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",IF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",IF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",IF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",IF.Jenny="珍妮",IF.Jack="杰克",IF.Tom="汤姆",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查看训练库 选择%1",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",IF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",IF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",IF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",IF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",IF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",IF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",IF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",IF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",IF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",IF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",IF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",IF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",IF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",IF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",IF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",IF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",IF.MPYTHON_AGESTURE_ARRAY_HELPURL="",IF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",IF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",IF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",IF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",IF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",IF.MPYTHON_GESTURE_READ_LEND_HELPURL="",IF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",IF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",IF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",IF.MPYTHON_GESTURE_SCORE_HELPURL="",IF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",IF.MPYTHON_GESTURE_SCORE_TOOLTIP="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",IF.MPYTHON_GESTURE_FORECAST_HELPURL="",IF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",IF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",IF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",IF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸%1 %2",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",IF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",IF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",IF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",IF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表%1",IF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻";IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="计算总数 排序前%1",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",IF.FIRST="第一次",IF.LAST="最后一次",IF.MPYTHON_USOCKET_BLOCK="阻塞",IF.MPYTHON_USOCKET_UNBLOCK="非阻塞",IF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",IF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="設定socket %1 地址 %2 類型 %3",IF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="設定給定通訊端選項的值。所需的符號常數在通訊端模塊中定義SO_ *等)。該值可以是整數或表示緩衝區的類位元組對象。",IF.MPYTHON_USOCKET_READLINE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",IF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行數據,遇分行符號結束並返回接收數據的對象",IF.MPYTHON_USOCKET_READLINE_TOOLTIP="接收一行數據,遇分行符號結束,並返回接收數據的對象",IF.MPYTHON_USOCKET_READ_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",IF.MPYTHON_USOCKET_READ_MESSAGE0="從socket %1 讀取 %2 字節並返回字節對象",IF.MPYTHON_USOCKET_READ_TOOLTIP="若未給定讀取數量 ,則按照類似 socket.readall() 的模式運行",IF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",IF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="設socket %1 為 %2 模式",IF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",IF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",IF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 設超時時間 %2 秒",IF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",IF.MPYTHON_USOCKET_RECV_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",IF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收並返回接收到的數據對象 最大數據量為 %2",IF.MPYTHON_USOCKET_RECV_TOOLTIP="",IF.MPYTHON_USOCKET_RECVFROM_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",IF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收並返回接收到的數據元組 最大數據量為 %2",IF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元組格式 (bytes, address)",IF.MPYTHON_USOCKET_SENDALL_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 連續發送%2 並返回發送的位元組數",IF.MPYTHON_USOCKET_SENDALL_TOOLTIP="將所有數據發送到通訊端。通訊端必須連接到遠程通訊端。與send此不同此方法將嘗試通過連續發送數據塊來發送所有數據。",IF.MPYTHON_USOCKET_SENDS_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",IF.MPYTHON_USOCKET_SENDS_TOOLTIP="將數據發送到通訊端。通訊端必須連接到遠程通訊端。返回發送的位元組數可能小於數據長度“short write”。",IF.MPYTHON_USOCKET_SEND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",IF.MPYTHON_USOCKET_SEND_TOOLTIP="Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",IF.MPYTHON_TEXT_ESC_HELPURL="",IF.MPYTHON_TEXT_ESC_MESSAGE0="文本轉義字元 %1 ",IF.MPYTHON_TEXT_ESC_TOOLTIP="文本轉義字元",IF.MPYTHON_USOCKET_SENDTO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",IF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 發送 %2 到地址 %3",IF.MPYTHON_USOCKET_SENDTO_TOOLTIP="Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",IF.MPYTHON_USOCKET_CONNECT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",IF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 連接 host %2 端口 %3",IF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",IF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",IF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 並返回 ip",IF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需聯網",IF.MPYTHON_USOCKET_ACCEPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",IF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接受連接請求並返回socket元組",IF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收連接請求。socket需要指定地址並監聽連接。返回值是 (conn, address)。\nconn新的socket對象可以用來收發消息\naddress連接到服務器的客戶端地址",IF.MPYTHON_USOCKET_LISTEN_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",IF.MPYTHON_USOCKET_LISTEN_MESSAGE0="監聽socket %1 backlog個數 %2",IF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog 接受套接字的最大个数至少为0如果没有指定则默认一个合理值。",IF.MPYTHON_USOCKET_BIND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",IF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 綁定地址 %2 端口 %3",IF.MPYTHON_USOCKET_BIND_TOOLTIP="",IF.MPYTHON_USOCKET_CLOSE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",IF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 關閉",IF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",IF.MPYTHON_USOCKET_INIT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",IF.MPYTHON_USOCKET_INIT_MESSAGE0="創建 socket %1 地址 %2 類型 %3",IF.MPYTHON_USOCKET_INIT_TOOLTIP="AF_INET:=2 — TCP/IP IPv4\nAF_INET6 :=10 — TCP/IP IPv6\nSOCK_STREAM:=1 — TCP流\nSOCK_DGRAM:=2 — UDP數據報\nSOCK_RAW :=3 — 原始套接字\nSO_REUSEADDR : =4 — socket可重用\n",IF.MPYTHON_GET_POST_HELPURL="",IF.MPYTHON_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",IF.MPYTHON_GET_POST_TOOLTIP="",IF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",IF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",IF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",IF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",IF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",IF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 請求網址 %2 文件路徑 %3 Mime類型 %4 附加字段 %5",IF.MPYTHON_RESPONSE_HELPURL="",IF.MPYTHON_RESPONSE_MESSAGE0="響應内容 格式 %1",IF.MPYTHON_RESPONSE_TOOLTIP="",IF.STRING="字符串",IF._BYTE="二进制",IF.TEXT="文本",IF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",IF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="響應屬性 %1",IF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",IF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",IF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右鍵幫助,查看引脚聲明",IF.MPYTHON_SETS_PIN_MODE_MESSAGE0="設置引脚 %1 為 %2 模式 %3 並設置值為 %4",IF.MPYTHON_SET_PIN_IN="輸入",IF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽輸出",IF.MPYTHON_SET_PIN_LEAKY_OUT="開漏輸出",IF.MPYTHON_SET_PIN_NO_PULL="無上下拉",IF.MPYTHON_SET_PIN_DOWN_PULL="下拉",IF.MPYTHON_SET_PIN_UP_PULL="上拉",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="綫程鎖對象 %1 請求鎖",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",IF.MPYTHON_START_NEW_THREAD_HELPURL="",IF.MPYTHON_START_NEW_THREAD_MESSAGE0="子綫程 %1",IF.MPYTHON_START_NEW_THREAD_TOOLTIP="",IF.MPYTHON_UART_INIT_HELPURL="",IF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",IF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3組串口。0用於REPL剩下12兩組串口可用。所有引脚皆可作爲串口的輸入RX除 P2、P3 、P4 、P10 只能作爲輸出,其餘所有的引脚理論上都可作爲輸出 TX。",IF.MPYTHON_UART_DEINIT_HELPURL="",IF.MPYTHON_UART_DEINIT_MESSAGE0="關閉串口 %1",IF.MPYTHON_UART_DEINIT_TOOLTIP="關閉 UART 總線",IF.MPYTHON_UART_WRITE_STR_HELPURL="",IF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 寫入文本 %2 %3",IF.MPYTHON_UART_WRITE_STR_TOOLTIP="將文本寫入總線。\n返回值寫入或 None 超時的字節數。",IF.MPYTHON_UART_WRITE_HEX_HELPURL="",IF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 發送16進制字符串 %2 %3",IF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",IF.MPYTHON_UART_HAS_DATA_HELPURL="",IF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可讀數據",IF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一個整數,計算可以無阻塞地讀取的字符數。\n如果沒有可用字符它將返回0如果有字符則返回正數。\n即使有多個可讀的字符該方法也可以返回1。",IF.MPYTHON_UART_READLINE_HELPURL="",IF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 讀取一行數據",IF.MPYTHON_UART_READLINE_TOOLTIP="讀一行,以換行符結尾。\n返回值讀取行或 None 超時。",IF.MPYTHON_UART_READ_HELPURL="",IF.MPYTHON_UART_READ_MESSAGE0="串口 %1 讀取數據",IF.MPYTHON_UART_READ_TOOLTIP="讀取盡可能多的串口數據\n返回值包含讀入字節的字節列表。若讀取超時則返回 None。",IF.MPYTHON_UART_READ_LENGTH_HELPURL="",IF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 讀取數據 長度 %2",IF.MPYTHON_UART_READ_LENGTH_TOOLTIP="讀取指定長度字節數據\n返回值包含讀入字節的字節列表。若讀取超時則返回 None。",IF.MPYTHON_UART_WRITE_BYTE_HELPURL="",IF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 寫入單字節 %2",IF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="參數為 0~255 的整數\n將字節寫入總線。\n返回值寫入或 None 超時的字節數。",IF.MPYTHON_UART_WRITE_BYTES_HELPURL="",IF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 寫入字節數組 %2",IF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="將字節數組寫入總線。\n返回值寫入或 None 超時的字節數。",IF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",IF.TEXT_FORMAT_TOOLTIP="",IF.TEXT_FORMAT_HELPURL="",IF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",IF.TEXT_FORMAT2_TOOLTIP="",IF.TEXT_FORMAT2_HELPURL="",IF.MPYTHON_BAUDRATE_HELPURL="",IF.MPYTHON_BAUDRATE_MESSAGE0="%1",IF.MPYTHON_BAUDRATE_TOOLTIP="",IF.MPYTHON_HIGH_LOW_HELPURL="",IF.MPYTHON_HIGH_LOW_MESSAGE0="%1",IF.MPYTHON_HIGH_LOW_TOOLTIP="",IF.MPYTHON_TEN_CONVERT_TO_HELPURL="",IF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10進制整數 %1 轉化為 %2 字符串",IF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",IF.MPYTHON_BIN="二進制",IF.MPYTHON_OCT="八進制",IF.MPYTHON_HEX="十六進制",IF.MPYTHON_CONVERT_TO_TEN_HELPURL="",IF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 轉 10進制整數",IF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10進制整數 %2 轉 %1 字节",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",IF.MPYTHON_INT_TO_CHR_HELPURL="",IF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 轉 ASCII 單字符",IF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII基於拉丁字母的一套電腦編碼系統主要用於顯示現代英語和其他西歐語言",IF.MPYTHON_CHR_TO_INT_HELPURL="",IF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 單字符 %1 轉 整型",IF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII基于拉丁字母的一套电脑编码系统主要用于显示现代英语和其他西欧语言。",IF.MPYTHON_STR_TO_HEX_HELPURL="",IF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 轉 十六進制 字節",IF.MPYTHON_STR_TO_HEX_TOOLTIP="返回結果中用空格分隔兩個十六進制數",IF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",IF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六進制字符串 %1 轉 二進制 字節",IF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",IF.MPYTHON_DATA_TO_BASE64_HELPURL="",IF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式編碼 返回字節對象",IF.MPYTHON_DATA_TO_BASE64_TOOLTIP="",IF.MPYTHON_BASE64_TO_DATA_HELPURL="",IF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解碼 base64 數據 %1 返回字節對象",IF.MPYTHON_BASE64_TO_DATA_TOOLTIP="",IF.MPYTHON_UJSON_DUMPS_HELPURL="",IF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 轉 json 字符串",IF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必須是字符串 value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none",IF.MPYTHON_UJSON_LOADS_HELPURL="",IF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",IF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必須是字符串 value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定義終端部件 Terminal 虛擬管脚 V %1",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虛擬管脚狀態 V %1",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",IF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",IF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="當 Blynk 斷開連接時",IF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",IF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",IF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="當 Blynk 連接時",IF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",IF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",IF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="運行 Blynk 定時器進程",IF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",IF.MPYTHON_BLYNK_RUN_HELPURL="",IF.MPYTHON_BLYNK_RUN_MESSAGE0="運行 Blynk 進程",IF.MPYTHON_BLYNK_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",IF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",IF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 顯示通知 %1",IF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",IF.MPYTHON_BLYNKTIMER_HELPURL="",IF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定時器 %1 %2 周期 %3 秒",IF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定時器序號為自動獲取自上而下從0開始且連續不可"定時器0定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',IF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",IF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定時器",IF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",IF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",IF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定時器 %1",IF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定時器序號為自動獲取自上而下從0開始且連續不可"定時器0定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',IF.MPYTHON_UART_INPUT_HELPURL="",IF.MPYTHON_UART_INPUT_MESSAGE0="從串口獲取文本 提示語句 %1",IF.MPYTHON_UART_INPUT_TOOLTIP="",IF.INT_TO_CHR_HELPURL="",IF.INT_TO_CHR_MESSAGE0="整數 %1 轉 ASCII 單字符",IF.INT_TO_CHR_TOOLTIP="",IF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",IF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="給虛擬管脚添加 屬性 %1 值 %2",IF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放於 read 或 write 事件中,虛擬管脚由事件決定,與該管脚綁定的組件會擁有添加的屬性",IF.MPYTHON_BLYNK_EMAIL_HELPURL="",IF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向預設郵箱發郵件 %1 主題 %2 正文 %3",IF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="發送數據 %1 到 Blynk APP 的 虛擬管脚 V %2",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虛擬管脚V0 ~ V255",IF.MPYTHON_BLYNK_SETUP_HELPURL="",IF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 設置 %1 服務器 %2 端口 %3 授權碼 %4",IF.MPYTHON_BLYNK_SETUP_TOOLTIP="服務器可填 blynk-cloud.com 或者 blynk.mpython.cn\n默認端口為 8080\n註意手機APP訪問端口為 9443",IF.MPYTHON_BLYNK_APP_DATA_HELPURL="",IF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="當 從 Blynk APP 收到 虛擬管腳 V %1 的值 %2 時",IF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虛擬管脚V0 ~ V255",IF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="當 收到 Blynk 虛擬管腳 V %1 的值",IF.MPYTHON_BLYNK_VALUE_MESSAGE0="從 Blynk 收到的值",IF.MPYTHON_BLYNK_VALUE_TOOLTIP="",IF.MPYTHON_BLYNK_VALUE_HELPURL="",IF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 斷開連接",IF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",IF.MPYTHON_ONENET_DISCONNECT_HELPURL="",IF.MPYTHON_ONENET_MSG_MESSAGE0="從 OneNET 收到的消息",IF.MPYTHON_ONENET_MSG_TOOLTIP="",IF.MPYTHON_ONENET_MSG_HELPURL="",IF.MPYTHON_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 %1 時",IF.MPYTHON3_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 時",IF.MPYTHON_ONENET_RECV_TOOLTIP="",IF.MPYTHON_ONENET_RECV_HELPURL="",IF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="當 從 OneNET 收到特定消息 %1 時",IF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",IF.MPYTHON_ONENET_RECV_MSG_HELPURL="",IF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 發送數據流 名稱 %1 值 %2",IF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",IF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",IF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 發送數據流 %1",IF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",IF.MPYTHON_ONENET_PUB_DICT_HELPURL="",IF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 發送數據流 名稱 %1 值 %2",IF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",IF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",IF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超聲波距離 測量單位 %2",IF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",IF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超聲波(mm)",IF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",IF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超聲波初始化 名稱 %1 trigger %2 echo %3",IF.MPYTHON_HCSR04_OBJ_TOOLTIP="",IF.MPYTHON_PM2_5_MIC_HELPURL="",IF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值濃度%2",IF.MPYTHON_PM2_5_MIC_TOOLTIP="",IF.MPYTHON_PM2_5_LitresAir_HELPURL="",IF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1昇空氣中直徑在%2 顆粒物個數",IF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",IF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="當 紅外接收端 %1 收到消息時 %2 執行 %3",IF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="紅外回調地址",IF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="紅外接收內容",IF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="紅外接收 %1 回調地址 %2 回調命令 %3",IF.MPYTHON_IR_REMOTE_RECV_HELPURL="",IF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",IF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="紅外發送 %1 地址 %2 命令 %3",IF.MPYTHON_IR_REMOTE_SEND_HELPURL="",IF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",IF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",IF.MPYTHON_ONENET="OneNET 設置",IF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",IF.MPYTHON_ONENET_OPTION_BOARDS="可選掌控板",IF.MPYTHON_ONENET_TITLE="OneNET",IF.MPYTHON_SERVER="服務器",IF.MPYTHON_DEVICE_ID="設備ID",IF.MPYTHON_PRODUCT_ID="產品ID",IF.MPYTHON_API_KEY="產品APIKey",IF.MPYTHON_ONENET_CALLBACK="回調函數",IF.MPYTHON_TOPIC="主題",IF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回調函數",IF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",IF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 選擇掌控板應用 %1",IF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",IF.TEXT_TO_BYTE_MESSAGE0="轉字節 %1",IF.TEXT_TO_BYTE_TOOLTIP="支持數據類型string",IF.TEXT_TO_BYTE_HELPURL="",IF.OTHER_TO_BYTE_MESSAGE0="非文本轉字節 %1",IF.OTHER_TO_BYTE_TOOLTIP="",IF.OTHER_TO_BYTE_HELPURL="",IF.MPYTHON_BYTES_DECODE_HELPURL="",IF.MPYTHON_BYTES_DECODE_MESSAGE0="字節 %1 轉 字符串",IF.MPYTHON_BYTES_DECODE_TOOLTIP="",IF.MPYTHON_ONENET_TOOLTIP="創建OneNET連接",IF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物聯網 確保連接到 Wi-Fi 名稱 %1 密碼 %2",IF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",IF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="儅從小程序收到消息 %1 和 %2 時",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",IF.MPYTHON_MAC_ADDRESS_HELPURL="",IF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",IF.MPYTHON_MAC_ADDRESS_TOOLTIP="",IF.MPYTHON_RADIO_REC_HELPURL="",IF.MPYTHON_RADIO_REC_MESSAGE0="無綫廣播 接收消息",IF.MPYTHON_RADIO_REC_TOOLTIP="所接收為字節型",IF.MPYTHON_RADIO_SEND_HELPURL="",IF.MPYTHON_RADIO_SEND_MESSAGE0="無綫廣播 發送 %1",IF.MPYTHON_RADIO_SEND_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_CHANNEL_HELPURL="",IF.MPYTHON_RADIO_CHANNEL_MESSAGE0="設無綫廣播 頻道為 %1",IF.MPYTHON_RADIO_CHANNEL_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_ON_OFF_HELPURL="",IF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 無綫廣播",IF.MPYTHON_RADIO_ON_OFF_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_MSG_MESSAGE0="收到的無線廣播消息",IF.MPYTHON_RADIO_MSG_TOOLTIP="",IF.MPYTHON_RADIO_MSG_HELPURL="",IF.MPYTHON3_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 時 %1 執行 %2",IF.MPYTHON_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 %1 時",IF.MPYTHON_RADIO_RECV_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_RECV_HELPURL="",IF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="當 收到特定無線廣播消息 %1 時 %2 執行 %3",IF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_RECV_MSG_HELPURL="",IF.MPYTHON_UDP_INIT_HELPURL="",IF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 連接",IF.MPYTHON_UDP_INIT_TOOLTIP="UDP連接基於Wi-Fi",IF.MPYTHON_UDP_SEND_HELPURL="",IF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群發消息 %1",IF.MPYTHON_UDP_SEND_TOOLTIP="",IF.MPYTHON_UDP_SENDTO_HELPURL="",IF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 發送消息 %1 到 %2 端口 %3",IF.MPYTHON_UDP_SENDTO_TOOLTIP="",IF.MPYTHON_UDP_RECV_HELPURL="",IF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",IF.MPYTHON_UDP_RECV_TOOLTIP="",IF.MPYTHON_UDP_RECV_EVENT_HELPURL="",IF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="當從 UDP 收到消息時 %1 執行 %2",IF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",IF.MPYTHON_UDP_RECV_MSG_MESSAGE0="從 UDP 收到的消息",IF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",IF.MPYTHON_UDP_RECV_MSG_HELPURL="",IF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鳥叫",IF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="鋼琴黑暗旋律配樂",IF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="貓叫",IF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",IF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="渾厚的打擊音",IF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="緊張效果的音效",IF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快門聲",IF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="數百只蒼蠅",IF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫聲",IF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="搖晃低音聲線",IF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="聽眾歡呼掌聲",IF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="郵輪汽笛",IF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="現代電話鈴聲",IF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔蘿蔔",IF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="兩只老虎",IF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",IF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="設音頻音量 %1",IF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",IF.MPYTHON_DISPCHAR_MODE_1="普通",IF.MPYTHON_DISPCHAR_MODE_2="反轉",IF.MPYTHON_DISPCHAR_MODE_3="透明",IF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",IF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 語音播放 %1",IF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 訊飛開放平臺 www.xfyun.cn 上開通“在線語音合成”服務",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 語音配置 APPID %1 APIKey %2",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="輸入在 訊飛開放平臺 www.xfyun.cn 獲取的 APPID 與 APIKey\n註意要設置IP白名單",IF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",IF.MPYTHON_AUDIO_PLAY_MESSAGE0="音頻 播放 %1",IF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",IF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",IF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音頻 播放 %1",IF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",IF.MPYTHON_AUDIO_DEINIT_HELPURL="",IF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音頻 釋放緩存",IF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",IF.MPYTHON_AUDIO_CMD_HELPURL="",IF.MPYTHON_AUDIO_CMD_MESSAGE0="音頻 %1",IF.MPYTHON_AUDIO_CMD_TOOLTIP="",IF.MPYTHON_AUDIO_INIT_HELPURL="",IF.MPYTHON_AUDIO_INIT_MESSAGE0="音頻 初始化",IF.MPYTHON_AUDIO_INIT_TOOLTIP="為音頻解碼開闢緩存",IF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",IF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="開始錄音 錄音時長%1秒",IF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本錄音時長不能超過5秒",IF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",IF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="錄音結果",IF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",IF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="將 %1 進行識別",IF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="識別錄音結果",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_INIT_HELPURL="",IF.MPYTHON_RECORD_INIT_MESSAGE0="錄音 初始化",IF.MPYTHON_RECORD_INIT_TOOLTIP="錄音初始化。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_DEINIT_HELPURL="",IF.MPYTHON_RECORD_DEINIT_MESSAGE0="錄音 釋放資源",IF.MPYTHON_RECORD_DEINIT_TOOLTIP="錄音結束後釋放資源。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_WAV_HELPURL="",IF.MPYTHON_RECORD_WAV_MESSAGE0="錄制音頻 存儲路徑 %1 時長 %2 秒",IF.MPYTHON_RECORD_WAV_TOOLTIP="錄制音頻,並以 WAV 格式存儲。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_ASR_HELPURL="",IF.MPYTHON_ASR_MESSAGE0="識別 %1 秒語音指令",IF.MPYTHON_ASR_TOOLTIP="可以識別3秒內的語音指令。\n需要掌控板v1.1以上硬件版本。",IF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_button_A="P5按鍵A",IF.mpython_button_B="P11按鍵B",IF.mpython_PIN7_RGB="P7板載RGB",IF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",IF.MPYTHON_PWM_PIN_P9="P9 (掌控實驗箱)",IF.mpython_tem="溫度",IF.mpython_hum="濕度",IF.mpython_pre="氣壓",IF.mpython_left_right="左右",IF.MPYTHON_LEFT="左",IF.MPYTHON_RIGHT="右",IF.mpython_front_back="前後",IF.mpython_vertical="垂直",IF.mpython_horizontal="水平",IF.mpython_run_in_back="後臺運行",IF.mpython_run_in_front="前臺運行",IF.mpython_draw="繪制",IF.mpython_clear="清除",IF.mpython_s="秒",IF.mpython_ms="毫秒",IF.mpython_us="微秒",IF.mpython_year="年",IF.mpython_month="月",IF.mpython_date="日",IF.mpython_hour="時",IF.mpython_minute="分",IF.mpython_week="星期數",IF.mpython_days="天數",IF.MPYTHON_ORDER="第",IF.MPYTHON_REVERSE_ORDER="倒數第",IF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定遞增基數集合中的一個隨機數基數缺省值為1",IF.MATH_RANDOM_RANDRANGE_MESSAGE0="隨機數 從遞增區間 [%1 ,%2) 遞增步長%3",IF.MATH_KEEP_DECIMAL_HELPURL="",IF.MATH_KEEP_DECIMAL_TOOLTIP="",IF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小數",IF.MPYTHON_MIN="最小值",IF.MPYTHON_MAX="最大值",IF.MPYTHON_LENTH="長度",IF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_MIN_MAX_LEN_TOOLTIP="",IF.TUPLE_MIN_MAX_LEN_MESSAGE0="元組 %1 %2",IF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_ITEM_EXIST_TOOLTIP="",IF.TUPLE_ITEM_EXIST_MESSAGE0="元組%1 包含%2",IF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_ITEM_EXIST_TOOLTIP="",IF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",IF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_TUPLE_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.PARTS_OF_TUPLE_MESSAGE0="返回元組%1 取第%2 項到尾項",IF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_TUPLE2_TOOLTIP="遞增順序取項\n舉例\n 倒數第5到倒數第2\n 第0到第5",IF.PARTS_OF_TUPLE2_MESSAGE0="返回元組%1 取%2 %3 項到 %4 %5 項",IF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_LIST_TOOLTIP="遞增順序取項\n舉例\n 倒數第5到倒數第2\n 第0到第5",IF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 項到 %4 %5 項",IF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_TO_TUPLE_TOOLTIP="",IF.LIST_TO_TUPLE_MESSAGE0="列表%1 轉元組",IF.tuple_create_with_MESSAGE0="定義元組 %1 = %2 ",IF.tuple_create_with_TOOLTIP="只包含一個元素時,需要在元素後面添加逗號",IF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.tuple_order_item_MESSAGE0="元組%1 %2 %3 項",IF.tuple_order_item_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 項",IF.LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_LIST_ORDER_ITEM_MESSAGE0="設列表%1 %2 %3 項為%4",IF.SET_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 項為%4",IF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_TUPLE_ORDER_ITEM_MESSAGE0="設元組%1 %2 %3 項為%4",IF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_TOOLTIP="",IF.DICT_CREATE_WITH_MESSAGE0="定義字典 %1 = %2",IF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_CREATE_WITH_TOOLTIP="",IF.SET_CREATE_WITH_MESSAGE0="定義集合 %1 = %2",IF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_UPDATE_WITH_TOOLTIP="添加參數可為字符串、列表、元組、集合、字典只添加key已有元素則不進行操作",IF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",IF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.INTERSECTION_OF_SETS_TOOLTIP="",IF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",IF.MPYTHON_INTERSECTION="交集",IF.MPYTHON_UNION="並集",IF.MPYTHON_DIFFERENCE="差集",IF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SETS_UPDATE_WAYS_TOOLTIP="",IF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新為 與集合 %2 的 %3",IF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SUBSET_SUPERSET_TOOLTIP="",IF.SUBSET_SUPERSET_MESSAGE0="集合 %1 為集合 %2 的 %3",IF.MPYTHON_SUBSET="子集",IF.MPYTHON_SUPERSET="超集",IF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LEN_OF_SETS_TOOLTIP="",IF.LEN_OF_SETS_MESSAGE0="集合 %1 長度",IF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.GET_SETS_POP_TOOLTIP="",IF.GET_SETS_POP_MESSAGE0="返回隨機項並移除之 從集合 %1",IF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.CREATE_EMPTY_SET_TOOLTIP="",IF.CREATE_EMPTY_SET_MESSAGE0="創建空集合 %1",IF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.BIT_INVERSION_TOOLTIP="對數據的每個二進制位取反",IF.BIT_INVERSION_MESSAGE0="二進制取反 %1",IF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="項可為字符串、已賦值變量、元組",IF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始倒序計數從1開始",IF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_VALUE_TOOLTIP="",IF.DICT_KEY_VALUE_MESSAGE0="字典%1 鍵%2 的值",IF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.ADD_DICT_KEY_VALUE_TOOLTIP="已有該鍵則更新該鍵",IF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加鍵%2 值%3",IF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_LENGTH_TOOLTIP="",IF.DICT_LENGTH_MESSAGE0="字典%1 長度",IF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_EXIST_TOOLTIP="",IF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含鍵%2",IF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",IF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",IF.DICT_KEYS="鍵",IF.DICT_VALUES="值",IF.mpython_lists_append_MESSAGE0="列表%1 末尾添加項%2",IF.mpython_lists_append_TOOLTIP="",IF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",IF.mpython_lists_extend_TOOLTIP="",IF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_lists_clear_MESSAGE0="列表%1 清空",IF.mpython_lists_clear_TOOLTIP="",IF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重複",IF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",IF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_Timer_value_MESSAGE0="定時器 %1 的計數值",IF.mpython_Timer_value_TOOLTIP="獲取並返回計時器當前計數值",IF.mpython_Timer_deinit_MESSAGE0="清除 定時器/事件 %1",IF.mpython_Timer_deinit_TOOLTIP="取消定時器的初始化。停止計時器,並禁用計時器外圍設備",IF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",IF.mpython_Interrupt_AB_TOOLTIP="",IF.mpython_Interrupt_AB_MESSAGE0="當按鍵 %1 被 %2 時",IF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",IF.mpython_Interrupt_pin_TOOLTIP="上升沿觸發:由低電平到高電平;下降沿觸發:由高電平到低電平",IF.mpython_Interrupt_pin_MESSAGE0="當引腳 %1 電平 %2 時",IF.mpython_Interrupt_pin_IRQ_FALLING="↘ 從高到低",IF.mpython_Interrupt_pin_IRQ_RISING="↗ 從低到高",IF.mpython_IRQ_FALLING="按下",IF.mpython_IRQ_RISING="松開",IF.mpython_PERIODIC="重復執行",IF.mpython_ONE_SHOT="延時執行",IF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",IF.MPYTHON_IS_SHAKED_HELPURL="",IF.MPYTHON_IS_SHAKED_TOOLTIP="",IF.MPYTHON_IS_SHAKED="被搖晃",IF.MPYTHON_IS_THROWN="被拋起",IF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="當掌控板 %1 時",IF.MPYTHON_SHAKE_DETECTOR_HELPURL="",IF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",IF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",IF.MPYTHON_IS_TILTED_HELPURL="",IF.MPYTHON_IS_TILTED_TOOLTIP="",IF.MPYTHON_TILT_DETECTOR_MESSAGE0="當掌控板 %1 時",IF.MPYTHON_TILT_DETECTOR_HELPURL="",IF.MPYTHON_TILT_DETECTOR_TOOLTIP="",IF.MPYTHON_DIRECTION_FORWARD="向前傾斜",IF.MPYTHON_DIRECTION_BACK="向後傾斜",IF.MPYTHON_DIRECTION_RIGHT="向右傾斜",IF.MPYTHON_DIRECTION_LEFT="向左傾斜",IF.MPYTHON_DIRECTION_NONE="平放",IF.MPYTHON_TOUCH_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",IF.MPYTHON_TOUCH_EVENT_HELPURL="",IF.MPYTHON_TOUCH_EVENT_TOOLTIP="",IF.MPYTHON_TOUCH_EVENT_PRESSED="觸摸",IF.MPYTHON_TOUCH_EVENT_UNPRESSED="釋放",IF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 當 %2 時",IF.MPYTHON_CUSTOM_EVENT_HELPURL="",IF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定義事件與定時器共用 1/2/4/7/8/9/10不可同時占用一個端口。\n最大同時創建4個事件/定時器,如果存在沖突,請嘗試換一個編號。",IF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_music_range_pitch_TOOLTIP="時長為單個頻率的時長",IF.mpython_music_range_pitch_MESSAGE0="播放音調 從%1 到%2 步長%3 時長%4 毫秒 引脚 %5",IF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_neopixel_init_TOOLTIP="",IF.mpython_neopixel_init_MESSAGE0="燈帶初始化 名稱%1 引腳%2 數量%3",IF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",IF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹燈效 燈帶%1 數量 %2 亮度 %3 偏移 %4",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度調節, 範圍 0 ~ 100",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="燈帶 %1 設置亮度為 %2",IF.mpython_neopixel_single_TOOLTIP="",IF.mpython_neopixel_single_MESSAGE0="燈帶%1 %2號 紅%3 綠%4 藍%5",IF.mpython_neopixel_single_gui_MESSAGE0="燈帶 %1 %2號 顏色為 %3",IF.mpython_neopixel_single_gui_TOOLTIP="",IF.mpython_neopixel_show_TOOLTIP="",IF.mpython_neopixel_show_MESSAGE0="燈帶%1 設置生效",IF.mpython_neopixel_off_TOOLTIP="",IF.mpython_neopixel_off_MESSAGE0="燈帶%1 關閉",IF.mpython_neopixel_all_TOOLTIP="",IF.mpython_neopixel_all_MESSAGE0="燈帶%1 全亮 紅%2 綠%3 藍%4",IF.mpython_neopixel_all_gui_TOOLTIP="",IF.mpython_neopixel_all_gui_MESSAGE0="燈帶%1 全亮 顏色%2",IF.mpython_image_to_oled_MESSAGE0="打開圖片 %1 寬 %2 高 %3",IF.mpython_image_to_oled_TOOLTIP="",IF.mpython_time_localtime_MESSAGE0="本地時間 %1",IF.mpython_time_localtime_TOOLTIP="星期數返回06周一為0周日為6\n天數獲取當前日期是一年中的第幾天\n建議先連接wifi並獲取網絡時間",IF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",IF.mpython_WiFi_config_TOOLTIP="netmask-子網掩碼gateway-網關",IF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_time_ticks_MESSAGE0="運行時間 %1",IF.mpython_time_ticks_TOOLTIP="",IF.MPYTHON_TIMER_DEF_MESSAGE0="定義定時器 %1",IF.MPYTHON_TIMER_INIT_MESSAGE0="啟動定時器 %1 %2 周期 %3 毫秒",IF.mpython_Timer_MESSAGE0="設置定時器 %1 %2 周期 %3 毫秒",IF.mpython_Timer_TOOLTIP="創建定時器nn=1-14。\n最大同時創建4個定時器如果存在沖突請嘗試換一個編號。\n3用於內部程序\n5/6用於伺服系統和ADC\n11用於搖晃檢測\n12用於觸摸鍵檢測\n13用於Radio和DHT11/DHT22定時取值共用\n14用於OneNET和傾斜檢測共用\n其余端口與自定義事件共用。",IF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",IF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",IF.mpython_bme280_hum_tem_pre_TOOLTIP="氣壓單位Pa, 溫度單位攝氏度, 環境濕度單位%",IF.mpython_sway_xyz_MESSAGE0="%1 搖晃掌控板",IF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,觸摸鍵 'python' 靠近使用者,開始左右或前後搖晃掌控板",IF.mpython_init_bluetooth_MESSAGE0="初始化 藍牙名稱%1",IF.mpython_init_bluetooth_TOOLTIP="初始化 藍牙名稱",IF.mpython_OnOff_bluetooth_MESSAGE0="藍牙設備%1廣播",IF.mpython_OnOff_bluetooth_TOOLTIP="藍牙設備 開啟或關閉廣播",IF.mpython_HID_consumer_bluetooth_MESSAGE0="消費類設備%1 狀態%2",IF.mpython_HID_consumer_bluetooth_TOOLTIP="類比HID消費類設備的控制器如藍牙遙控器",IF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="鍵盤 釋放按鍵",IF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="HID鍵盤設備",IF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠標%1",IF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠標設備",IF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠標 釋放按鍵",IF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠標設備",IF.mpython_HID_keyboard_bluetooth_MESSAGE0="鍵盤 按鍵%1",IF.mpython_HID_keyboard_bluetooth_TOOLTIP="鍵盤設備",IF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="HID設備按鍵 %1 組合按鍵%2",IF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",IF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="滑鼠 指標移動 x%2 y%1",IF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标坐标x,y轴的相对位移,范围-1023 ~ 1023",IF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="設備 按鍵 %1 組合按鍵%2",IF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="鍵盤設備",IF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="鍵盤 组合設備%1",IF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",IF.mpython_HID_keyboard_part_bluetooth_HELPURL="",IF.mpython_init_wifi_MESSAGE0="連接 Wi-Fi 名稱 %1 密碼 %2",IF.mpython_init_wifi_TOOLTIP="讓掌控板接入Wi-Fi環境",IF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 設置固定IP %1 IP 地址 %2 子網掩碼 %3 默認網關 %4 DNS %5",IF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",IF.MPYTHON_WIFI_IFCONFIG_HELPURL="",IF.mpython_dis_WiFi_MESSAGE0="斷開 Wi-Fi 連接",IF.mpython_dis_WiFi_TOOLTIP="",IF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",IF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密碼可以為空或者8位以上的字母或數字。\nAP模式僅用於掌控板之間的相互通信不可以作為熱點令其它設備上網。",IF.MPYTHON_ENABLE_APWIFI_MESSAGE0="開啟 AP模式 名稱 %1 密碼 %2 信道 %3",IF.mpython_disable_APWiFi_MESSAGE0="關閉 AP模式",IF.mpython_disable_APWiFi_TOOLTIP="",IF.mpython_ntptime_settime_MESSAGE0="同步網絡時間 時區 %1 授時服務器 %2",IF.mpython_ntptime_settime_TOOLTIP="NTP時間同步是一種時間同步網絡技術",IF.mpython_wifi_get_date_MESSAGE0="獲取當前日期",IF.mpython_wifi_get_date_TOOLTIP="獲取當前日期字符串 示例2020年12月12日",IF.mpython_wifi_get_time_MESSAGE0="獲取當前時間",IF.mpython_wifi_get_time_TOOLTIP="獲取當前時間字符串",IF.mpython_ntptime_timezone_E1="東1區",IF.mpython_ntptime_timezone_E2="東2區",IF.mpython_ntptime_timezone_E3="東3區",IF.mpython_ntptime_timezone_E4="東4區",IF.mpython_ntptime_timezone_E5="東5區",IF.mpython_ntptime_timezone_E6="東6區",IF.mpython_ntptime_timezone_E7="東7區",IF.mpython_ntptime_timezone_E8="東8區",IF.mpython_ntptime_timezone_E9="東9區",IF.mpython_ntptime_timezone_E10="東10區",IF.mpython_ntptime_timezone_E11="東11區",IF.mpython_ntptime_timezone_E12="東12區",IF.mpython_ntptime_timezone_0="中時區",IF.mpython_ntptime_timezone_W1="西1區",IF.mpython_ntptime_timezone_W2="西2區",IF.mpython_ntptime_timezone_W3="西3區",IF.mpython_ntptime_timezone_W4="西4區",IF.mpython_ntptime_timezone_W5="西5區",IF.mpython_ntptime_timezone_W6="西6區",IF.mpython_ntptime_timezone_W7="西7區",IF.mpython_ntptime_timezone_W8="西8區",IF.mpython_ntptime_timezone_W9="西9區",IF.mpython_ntptime_timezone_W10="西10區",IF.mpython_ntptime_timezone_W11="西11區",IF.mpython_ntptime_timezone_W12="西12區",IF.FILE_TO_LIST_HELPURL="",IF.FILE_TO_LIST_TOOLTIP="讀出指定路徑的文本文件內容僅限utf-8格式並轉為列表形式以分隔符分隔。",IF.FILE_TO_LIST_MESSAGE0="讀取文本文件 %1 為列表 ,以 %2 分隔",IF.FILE_TO_BIN_HELPURL="",IF.FILE_TO_BIN_TOOLTIP="以二進制格式讀出指定路徑的文件內容。",IF.FILE_TO_BIN_MESSAGE0="讀取文件 %1 的二進制內容",IF.MPYTHON_INIT_FILE_HELPURL="",IF.MPYTHON_INIT_FILE_TOOLTIP="初始化一個文本文件,如果文件不存在則創建文件,如果文件存在則清空內容。",IF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",IF.MPYTHON_WRITE_FILE_HELPURL="",IF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路徑的文本文件寫入內容,如果文件不存在則創建文件。",IF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 寫入內容 %2 ,以 %3 分隔",IF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",IF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n須確保 SPI 總線的引腳與 micro SD 卡物理連接正確,並預先使用 FAT 或 FAT32 文件系統格式化 micro SD 卡。",IF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",IF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",IF.MPYTHON_SDCARD_MOUNT_TOOLTIP="掛載 SDCard 到指定路徑。",IF.MPYTHON_SDCARD_MOUNT_MESSAGE0="掛載 SD 卡到路徑 %1",IF.MPYTHON_ENTER="回車",IF.MPYTHON_COMMA="逗號",IF.MPYTHON_SEMICOLON="分號",IF.MPYTHON_SPACE="空格",IF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模擬時鐘 x %1 y %2 半徑 %3",IF.mpython_wifi_clock_TOOLTIP="需連接 Wi-Fi 使用",IF.mpython_def_clock_MESSAGE0="初始化時鐘%1 x %2 y %3 半徑 %4",IF.mpython_def_clock_TOOLTIP="",IF.mpython_settime_clock_MESSAGE0="時鐘%1 讀取時間",IF.mpython_settime_clock_TOOLTIP="",IF.mpython_draw_clear_clock_MESSAGE0="%1 時鐘 %2",IF.mpython_draw_clear_clock_TOOLTIP="",IF.mpython_tinywebio_start_MESSAGE0="啟動 TinyWebIO 服務 %1",IF.mpython_tinywebio_start_TOOLTIP="啟動該服務需連接Wi-FiTinyWebIO服務為App Inventor應用提供遠程控制接口的掌控板工具包",IF.mpython_tinywebio_client_setup_HELPURL="",IF.mpython_tinywebio_client_setup_TOOLTIP="向服務器發布的數據項(逗號分隔)\nbuttona/b 按鍵狀態\ntouchpadp/y/t/h/o/n 觸摸按鍵值\nlight 光線值\nsound 聲音值\naccelerometer 三軸加速度值\nid 掌控板標識\ntime 時間戳\npind<n> 數字IO引腳\npina<n> 模擬IO引腳\n----------\n從服務器讀取的數據項(逗號分隔)\nrgb0/1/2 RGB燈珠\noled OLED顯示屏\nmusic 音樂\nservo<n> 舵機\npind<n> 數字IO引腳\npina<n> 模擬IO引腳",IF.mpython_tinywebio_client_setup_MESSAGE0="設置 TinyWebIO 客戶端參數 %1 TinyWebDB服務器地址 %2 向服務器發布的數據項 %3 從服務器讀取的數據項 %4 存取服務器的時間間隔(ms) %5",IF.mpython_tinywebio_client_action_HELPURL="",IF.mpython_tinywebio_client_action_TOOLTIP="",IF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客戶端",IF.mpython_tinywebio_client_action_start="啟動",IF.mpython_tinywebio_client_action_stop="停止",IF.MPYTHON_CUSTOM_CODE_HELPURL="",IF.MPYTHON_CUSTOM_CODE_TOOLTIP="",IF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定義代碼 %2 %3",IF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定義返回值 %1",IF.MPYTHON_CUSTOM_TYPE_IMPORT="置頂",IF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",IF.mpython_servo_angle0_MESSAGE0="設置舵機 %1 角度為 %2",IF.mpython_servo_angle_MESSAGE0="設置舵機 %1 角度為 %2 脈寬從 %3 到 %4 最大角度 %5",IF.mpython_servo_angle_TOOLTIP="電源線Vcc紅色連接拓展板電源口V地線GND(棕色)連接拓展板地線口G控制信號線(橙色)連接所選的拓展板引腳",IF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",IF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",IF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 連接拓展板的電源口 V - 連接拓展板的地線口 G out 連接拓展板的引腳 0(即選引腳)",IF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",IF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",IF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",IF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",IF.mpython_music_note_TOOLTIP="音符如C4:4",IF.mpython_return_list_MESSAGE0="定義列表 %1 = %2",IF.mpython_return_list_TOOLTIP="",IF.mpython_display_Show_MESSAGE0="OLED 顯示生效",IF.mpython_display_Show_TOOLTIP="",IF.mpython_display_DispChar_MESSAGE0="顯示文本 x %1 y %2 內容 %3 模式 %4 %5",IF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",IF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",IF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行顯示 %2 模式 %3 %4",IF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",IF.mpython_line1="1",IF.mpython_line2="2",IF.mpython_line3="3",IF.mpython_line4="4",IF.mpython_line5="5",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="";IF.mpython_display_fill_0="清空",IF.mpython_display_fill_1="全亮",IF.mpython_display_invert_0="黑底",IF.mpython_display_invert_1="白底",IF.mpython_display_show="生效",IF.mpython_display_fill_MESSAGE0="OLED 顯示 %1",IF.mpython_display_fill_TOOLTIP="",IF.mpython_display_pixel_0="暗",IF.mpython_display_pixel_1="亮",IF.mpython_display_pixel_MESSAGE0="描點 x %1 y %2 為 %3",IF.mpython_display_pixel_TOOLTIP="",IF.mpython_display_hline_0="擦除",IF.mpython_display_hline_1="繪制",IF.mpython_display_hline_MESSAGE0="%1 水平線%2 x%3 y%4 長度%5",IF.mpython_display_hline_TOOLTIP="",IF.mpython_ProgressBar_MESSAGE0="進度條%1 x%2 y%3 寬%4 高%5 進度%6",IF.mpython_ProgressBar_TOOLTIP="",IF.mpython_stripBar_MESSAGE0="柱狀條%1 x%2 y%3 寬%4 高%5 進度%6",IF.mpython_stripBar_TOOLTIP="",IF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",IF.MPYTHON_QR_CODE_TOOLTIP="",IF.MPYTHON_QR_CODE_MESSAGE0="在坐標 x %1 y %2 繪制二維碼 %3 尺寸 %4",IF.MPYTHON_DISPLAY_MODE_0="擦除",IF.MPYTHON_DISPLAY_MODE_1="繪制",IF.MPYTHON_DISPLAY_HOLLOW="空心",IF.MPYTHON_DISPLAY_SOLID="實心",IF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 線 %3 x %4 y %5 長度 %6",IF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 寬 %6 高 %7",IF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圓 %3 x %4 y %5 半徑 %6",IF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",IF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",IF.MPYTHON_RGB_0="0 #",IF.MPYTHON_RGB_1="1 #",IF.MPYTHON_RGB_2="2 #",IF.MPYTHON_RGB_ALL="所有",IF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="設置 %1 RGB 燈顏色為 %2",IF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="設置 %1 RGB 燈顏色為 R %2 G %3 B %4",IF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.MPYTHON_OFF_RGB_LIST_MESSAGE0="關閉 %1 RGB 燈",IF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",IF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音樂 %1 引腳 %2",IF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放內置的音樂",IF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音樂 %1 直到完成 , 引腳 %2",IF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放內置的音樂",IF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖國",IF.MPYTHON_MUSIC_DONG_FANG_HONG="東方紅",IF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩雲追月",IF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走進新時代",IF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",IF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小調",IF.mpython_display_vline_MESSAGE0="%1 垂直線%2 x%3 y%4 長度%5",IF.mpython_display_vline_TOOLTIP="",IF.mpython_display_line_MESSAGE0="%1 線%2 x1 %3 y1 %4 到 x2 %5 y2 %6",IF.mpython_display_line_TOOLTIP="",IF.mpython_display_rect_MESSAGE0="%1 邊框%2 x %3 y %4 寬 %5 高 %6",IF.mpython_display_rect_TOOLTIP="",IF.mpython_display_RoundRect_MESSAGE0="%1 弧角邊框%2 x %3 y %4 寬 %5 高 %6 半徑%7",IF.mpython_display_RoundRect_TOOLTIP="",IF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 寬 %5 高 %6 ",IF.mpython_display_fill_rect_TOOLTIP="",IF.mpython_display_fill_circle_MESSAGE0="%1 實心圓%2 x %3 y %4 半徑 %5",IF.mpython_display_fill_circle_TOOLTIP="",IF.mpython_display_circle_MESSAGE0="%1 空心圓%2 x %3 y %4 半徑 %5",IF.mpython_display_circle_TOOLTIP="",IF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",IF.mpython_display_triangle_TOOLTIP="",IF.mpython_display_fill_triangle_MESSAGE0="%1 實心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",IF.mpython_display_fill_triangle_TOOLTIP="",IF.mpython_display_Bitmap_MESSAGE0="%1 圖像 x%2 y%3 寬%4 高%5 16進制圖像數據 %6",IF.mpython_display_Bitmap_TOOLTIP="將16進制圖像數據顯示在OLED屏的指定位置",IF.MPYTHON_GET_PBM_DATA_MESSAGE0="獲取內置圖像 %1 模式%2",IF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件獲取指定路徑的圖像文件數據返回一個元組對象。",IF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",IF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="獲取自定義圖像 %1 模式%2",IF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %3",IF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件",IF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",IF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %5 寬 %3 高 %4",IF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",IF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",IF.mpython_horizontal="水平",IF.mpython_vertical="垂直",IF.mpython_display_FrameBuffer_MESSAGE0="構建幀 列表 %1 長 %2 寬 %3 掃描模式 %4",IF.mpython_display_FrameBuffer_TOOLTIP="用圖像取模後數據的列表 創建128x64的幀緩存區以儲存圖片幀",IF.MPYTHON_FONT_DIGIFACE_11="仿數碼管 11像素",IF.MPYTHON_FONT_DIGIFACE_16="仿數碼管 16像素",IF.MPYTHON_FONT_DIGIFACE_21="仿數碼管 21像素",IF.MPYTHON_FONT_DIGIFACE_30="仿數碼管 30像素",IF.MPYTHON_FONT_DIGIFACE_44="仿數碼管 44像素",IF.MPYTHON_FONT_DIGIFACE_IT_30="仿數碼管 斜體 30像素",IF.MPYTHON_FONT_DIGIFACE_IT_42="仿數碼管 斜體 42像素",IF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",IF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",IF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",IF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑體 12像素",IF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑體 16像素",IF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑體 21像素",IF.MPYTHON_FONT_WRAP="自動換行",IF.MPYTHON_FONT_NO_WRAP="不換行",IF.MPYTHON_FACE_1="心形",IF.MPYTHON_FACE_2="心形(小)",IF.MPYTHON_FACE_3="高興",IF.MPYTHON_FACE_4="笑臉",IF.MPYTHON_FACE_5="傷心",IF.MPYTHON_FACE_6="困惑",IF.MPYTHON_FACE_7="生氣",IF.MPYTHON_FACE_8="睡著",IF.MPYTHON_FACE_9="驚訝",IF.MPYTHON_FACE_10="愚蠢",IF.MPYTHON_FACE_11="極妙",IF.MPYTHON_FACE_12="無聊",IF.MPYTHON_FACE_ROCK="石頭",IF.MPYTHON_FACE_PAPER="布",IF.MPYTHON_FACE_SCISSORS="剪刀",IF.MPYTHON_FACE_ROCK_S="石頭(小)",IF.MPYTHON_FACE_PAPER_S="布(小)",IF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",IF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐標 x %1 y %2 顯示 %3 以 %4 字體 %5",IF.MPYTHON_DISPLAY_FONT_TOOLTIP="",IF.MPYTHON_DISPLAY_FONT_HELPURL="",IF.mpython_front="正向",IF.mpython_reverse="反轉",IF.mpython_display_blit_MESSAGE0="顯示幀 坐標x %1 y %2",IF.mpython_display_blit_TOOLTIP="",IF.mpython_front_reverse_MESSAGE0="像素點bit %1",IF.mpython_front_reverse_TOOLTIP="用於顯示之前",IF.mpython_images_append_MESSAGE0="動圖顯示 幀數%1 周期%2 長%3 寬%4",IF.mpython_images_append_TOOLTIP="上傳至掌控板的pbm圖片需命名為IMAGE.數字後綴為pbm。如IMAGE.1.pbm。幀數為7則數字為1至7",IF.mpython_button_is_pressed_MESSAGE0="按鍵%1 被按下",IF.mpython_button_is_pressed_TOOLTIP="",IF.mpython_button_both_pressed_MESSAGE0="AB按鍵都按下",IF.mpython_button_both_pressed_TOOLTIP="",IF.mpython_touchPad_value_MESSAGE0="按鍵%1 被觸摸",IF.mpython_touchPad_value_TOOLTIP="",IF.mpython_touchPad_value_num_MESSAGE0="按鍵%1 觸摸值",IF.mpython_touchPad_value_num_TOOLTIP="",IF.mpython_read_digital_MESSAGE0="讀取引腳 %1 數字值",IF.mpython_read_digital_TOOLTIP="",IF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水溫度感測器 引脚 %1",IF.mpython_read_DS18B20_TOOLTIP="",IF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",IF.mpython_set_digital_MESSAGE0="設置引腳 %2 數字值為 %1",IF.mpython_set_digital_TOOLTIP="",IF.mpython_read_analog_MESSAGE0="讀取引腳 %1 模擬值",IF.mpython_read_analog_TOOLTIP="",IF.mpython_set_analog_MESSAGE0="設置引腳 %2 模擬值PWM為 %1",IF.mpython_set_analog_TOOLTIP="模擬輸出是通過IO引腳輸出脈寬調制信號輸出指定的電壓值簡稱PWM。",IF.mpython_set_RGB_MESSAGE0="設置 %1 號 RGB 燈顏色為 R %2 G %3 B %4",IF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_color_MESSAGE0="設置 %1 號 RGB 燈顏色為 %2",IF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_all_MESSAGE0="設置所有 RGB 燈顏色為 R %1 G %2 B %3",IF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_color_all_MESSAGE0="設置所有 RGB 燈顏色為 %1",IF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_fresh_RGB_MESSAGE0="RGB 燈設置生效",IF.mpython_fresh_RGB_TOOLTIP="",IF.mpython_off_RGB_MESSAGE0="關閉 RGB 燈",IF.mpython_off_RGB_TOOLTIP="",IF.mpython_buzz_state_MESSAGE0="停止播放音樂",IF.mpython_buzz_state_TOOLTIP="",IF.mpython_buzz_freq_MESSAGE0="播放連續音調 %1 引脚 %2",IF.mpython_buzz_freq_TOOLTIP="",IF.mpython_buzz_tone_MESSAGE0="播放音調 %1",IF.mpython_buzz_tone_TOOLTIP="",IF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",IF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默認是掌控板的P6引脚",IF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",IF.MPYTHON_MUSIC_TONE_HELPURL="",IF.MPYTHON_MUSIC_TONE_TOOLTIP="",IF.MPYTHON_MUSIC_TONE_MESSAGE0="音調 %1",IF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",IF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",IF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 節拍 %2",IF.MPYTHON_MUSIC_TICK_HELPURL="",IF.MPYTHON_MUSIC_TICK_TOOLTIP="",IF.MPYTHON_MUSIC_TICK_MESSAGE0="節拍 %1",IF.MPYTHON_4_LINES_HELPURL="",IF.MPYTHON_4_LINES_TOOLTIP="",IF.MPYTHON_4_LINES_MESSAGE0="%1",IF.NUMBER_1="1",IF.NUMBER_1_2="1/2",IF.NUMBER_1_4="1/4",IF.NUMBER_2="2",IF.NUMBER_4="4",IF.mpython_read_sound_MESSAGE0="聲音值",IF.mpython_read_sound_TOOLTIP="",IF.mpython_read_light_MESSAGE0="光線值",IF.mpython_read_light_TOOLTIP="",IF.mpython_accelerometer_get_MESSAGE0="%1 軸加速度",IF.mpython_accelerometer_get_TOOLTIP="",IF.mpython_accelerometer_get_z_MESSAGE0="z軸加速度",IF.mpython_accelerometer_get_z_TOOLTIP="",IF.mpython_accelerometer_get_y_MESSAGE0="y軸加速度",IF.mpython_accelerometer_get_y_TOOLTIP="",IF.mpython_accelerometer_get_x_MESSAGE0="x軸加速度",IF.mpython_accelerometer_get_x_TOOLTIP="",IF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",IF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",IF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",IF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",IF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",IF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",IF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",IF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="設置加速度範圍,默認為 ±2g。",IF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="設置加速度範圍為 %1",IF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="設置加速度分辨率,默認為 10bits。",IF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="設置加速度分辨率為 %1",IF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校準加速度計的3個軸(x,y,z)的加速值偏差。\n一般情況下無需校準只有遇到加速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1g。\n註意校準數據斷電後不會保存。",IF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校準加速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4",IF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 軸 磁力",IF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南針方向",IF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校準指南針",IF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除當前環境磁場",IF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁場強度",IF.MPYTHON_TILT_ANGLE_HELPURL="",IF.MPYTHON_TILT_ANGLE_TOOLTIP="",IF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 軸傾斜角",IF.mpython_random_choice_MESSAGE0="返回隨機項%1",IF.mpython_random_choice_TOOLTIP="以String格式返回列表或字符串中的隨機項",IF.mpython_i2c_init_MESSAGE0="初始化I2C 波特率%1",IF.mpython_i2c_init_TOOLTIP="SCL引腳19SDA引腳20與內部的OLED和加速度傳感器共享I2C總線",IF.MACHINE_TIME_PULSE_US_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",IF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 電平持續時間(微秒)",IF.MACHINE_TIME_PULSE_US_TOOLTIP="",IF.BYTES="字節",IF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",IF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",IF.MPYTHON_I2C_INIT_TOOLTIP="",IF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",IF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",IF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",IF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",IF.MPYTHON_I2C_SCAN_MESSAGE0="%1 掃描地址",IF.MPYTHON_I2C_SCAN_TOOLTIP="返回壹個數組對象",IF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",IF.MPYTHON_I2C_DEINIT_MESSAGE0="關閉%1總線",IF.MPYTHON_I2C_DEINIT_TOOLTIP="",IF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_WRITETO_MESSAGE0="從%1 %5 地址%2 寫入%3 停止位%4",IF.MPYTHON_I2C_WRITETO_TOOLTIP="地址Number\n寫入Number、String",IF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_READFROM_MESSAGE0="從%1 %5 地址%2 讀取 字節數%3 停止位%4",IF.MPYTHON_I2C_READFROM_TOOLTIP="地址Number\n返回讀取數據的 bytes 對象的字符串",IF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="從%1 %6 地址%2 讀入緩存區%3 字節數%4 停止位%5",IF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",IF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 寫入%3",IF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址Number\n寫入Number、String",IF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 讀取 字節數%3",IF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址Number\n返回讀取數據的 bytes 對象的字符串",IF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="從%1 %6 地址%2 寄存器%5 讀入緩存區%3 字節數%4",IF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址Number\n返回讀取數據的 bytes 對象的字符串",IF.mpython_print_MESSAGE0="調試輸出 %1",IF.mpython_print_TOOLTIP="通過串口調試,輸出字符串",IF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",IF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印數據到圖表",IF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印數據到圖表",IF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="數據",IF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",IF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="數據內容",IF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",IF.MPYTHON_INIT_CHART_TOOLTIP="",IF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化圖表列標題",IF.MPYTHON_INIT_CHART_INPUT_WITH="初始化圖表列標題",IF.MPYTHON_INIT_CHART_ITEM_TITLE="標題",IF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",IF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="數據列標題",IF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",IF.MPYTHON_MS="毫秒",IF.MPYTHON_US="微秒",IF.MPYTHON_TIME_DIFFERENCE_HELPURL="",IF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回運行時間差 開始時間 %1 結束時間 %2",IF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",IF.MPYTHON_TYPE_HELPURL="",IF.MPYTHON_TYPE_MESSAGE0="值 %1 的類型",IF.MPYTHON_TYPE_TOOLTIP="",IF.MPYTHON_TYPE_IS_HELPURL="",IF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的類型為 %2",IF.MPYTHON_TYPE_IS_TOOLTIP="",IF.MPYTHON_EVAL_HELPURL="",IF.MPYTHON_EVAL_MESSAGE0="計算表達式 %1 的結果",IF.MPYTHON_EVAL_TOOLTIP="計算字符串表達式,並返回結果",IF.MPYTHON_RETURN_HELPURL="",IF.MPYTHON_RETURN_MESSAGE0="return %1",IF.MPYTHON_RETURN_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 電機速度 %1",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",IF.MPYTHON_M1M2_LED_ON_HELPURL="",IF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 設燈 %1 亮度 %2",IF.MPYTHON_M1M2_LED_ON_TOOLTIP="",IF.MPYTHON_M1M2_LED_OFF_HELPURL="",IF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 關燈 %1",IF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C數字光綫",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",IF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 顔色 %1",IF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 顔色",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 顔色 %1",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色調H飽和度S明度V",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 顔色",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色調H飽和度S明度V",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C電壓感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁場感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C電導率感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C氣壓感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光電門感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",IF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",IF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元組形式返回所有wifi配置信息",IF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",IF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已連接到 WI-FI",IF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",IF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",IF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi連接 語音助手 Wi-Fi 名稱 %1 密碼 %2",IF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通過串口把WIF傳給語音助手",IF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",IF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在檔案系統將文件上傳到板",IF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="讀取 語音助手 文字檔 %1",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="數碼管顯示 %1",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",IF.MPYTHON_MACHINE_RESET_HELPURL="",IF.MPYTHON_MACHINE_RESET_MESSAGE0="復位",IF.MPYTHON_MACHINE_RESET_TOOLTIP="與按下外部RESET按鍵效果一樣",IF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",IF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空數碼管",IF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",IF.MPYTHON_MUSIC_PIN_P6="默認",IF.MPYTHON_MUSIC_PIN_P6_HELPURL="",IF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",IF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",IF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",IF.MPYTHON_SLEEP_TOOLTIP="在進行下一個命令前,等待設定的時間。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒符號msmillisecond\n微秒符號μsmicrosecond",IF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="運行時間",IF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="獲取開機或復位後的運行時間(毫秒)。",IF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",IF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="溫度",IF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="獲取 micro:bit 的溫度(℃)。",IF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音樂 %1 等待 %2 循環 %3 引脚 %4",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放內置的音樂,可以設置等待模式和循環播放。",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",IF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音調 %1 %2 延時 %3 毫秒 引脚 %4",IF.MICROBIT_MUSIC_PITCH_TOOLTIP="在設定的時間長度裏播放音調。",IF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循環 %4",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表如C4:4、G4:8等音符為字符串形式。默認是掌控板的P6引脚",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",IF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",IF.MICROBIT_MUSIC_RESET_MESSAGE0="恢復音樂設置",IF.MICROBIT_MUSIC_RESET_TOOLTIP="將所有音樂設置 (當前節拍, 音階和周期) 恢復成默認值。",IF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",IF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音樂 引脚 %1",IF.MICROBIT_MUSIC_STOP_TOOLTIP="默認是掌控板的P6引脚",IF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="設置每一拍等同 %1 分音符,每分鐘節拍數 %2",IF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="設置回放速度 (節拍)。一定數量的滴答代表一拍,每拍每分鐘播放次數 (BPM 每分鐘節拍)。",IF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="設置播放速度為 %1 倍",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符為1拍每分鐘節拍數默認120為1倍的播放速度",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",IF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="獲取當前節拍",IF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="獲取當前節拍: 每節拍滴答數, 每分鐘節拍 (BPM)。",IF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",IF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引腳 %1 控制, neopixel 彩燈數 %2 ",IF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩燈。需要設定 neopixels 彩燈數量和控制腳。",IF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",IF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩燈 %1",IF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩燈",IF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",IF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="顯示 neopixels 彩燈 %1",IF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="顯示 / 更新全部 neopixels 彩燈。",IF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",IF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",IF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩燈的紅、綠、藍 (RGB) 顏色",IF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",IF.MICROBIT_PIN_TOUCHED_MESSAGE0="引腳 %1 被觸摸",IF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引腳被觸摸將返回 “真”。",IF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",IF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸摸",IF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引腳曾經被觸摸將返回 “真”。",IF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",IF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引腳 %1 被觸摸的次數",IF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被觸摸的次數,然後清零。",IF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",IF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="讀取引腳 %1 模擬電壓",IF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="讀取引腳的模擬輸入電壓。",IF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",IF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="設置模擬量 %1 到引腳 %2",IF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="寫入模擬參數到指定引腳上。",IF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",IF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="讀取引腳 %1 的數字輸入",IF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="讀取引腳的數字輸入 (真 或 假)。",IF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",IF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="設置數字輸出 %1 到引腳 %2",IF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="寫入數字量 (真 或 假) 到指定引腳。",IF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",IF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",IF.MICROBIT_RADIO_ON_MESSAGE0="打開無線廣播",IF.MICROBIT_RADIO_ON_TOOLTIP="打開無線廣播。需要明確聲明調用,因為它會消耗更多功率和占用更多內存。",IF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",IF.MICROBIT_RADIO_OFF_MESSAGE0="關閉無線廣播",IF.MICROBIT_RADIO_OFF_TOOLTIP="關閉無線廣播,節省功耗和內存。",IF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置無線廣播消息長度 %1 %2 最大隊列數量 %3 %4 信道 %5 %6 廣播功率 %7 %8 地址 %9 %10 組 %11 %12 數據速率 %13",IF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置無線廣播。\n 長度指單個消息的最大長度; \n 隊列指可以存放在消息隊列中消息的數量; \n 信道指無線廣播使用的無線頻率; \n 功率指發射廣播信號的強度; \n 地址32位值 \n 組8位值(0-255) \n 數據速率指數據傳輸的速度。",IF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",IF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",IF.MICROBIT_RADIO_RESET_MESSAGE0="復位無線廣播",IF.MICROBIT_RADIO_RESET_TOOLTIP="恢復無線廣播到默認設置。",IF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="發送消息 %1",IF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="廣播文字消息。",IF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",IF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="發送字節 %1",IF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="廣播字節。",IF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",IF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",IF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",IF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",IF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字節",IF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字節。",IF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",IF.MICROBIT_SPEECH_SAY_MESSAGE0="說 %1",IF.MICROBIT_SPEECH_SAY_TOOLTIP="嘗試說英語",IF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",IF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="讀 %1",IF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精確發音。",IF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",IF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",IF.MICROBIT_SPEECH_SING_TOOLTIP="象機器人一樣唱歌。",IF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",IF.MICROBIT_GESTURE_SHAKE="搖晃",IF.MICROBIT_GESTURE_UP="上",IF.MICROBIT_GESTURE_DOWN="下",IF.MICROBIT_GESTURE_LEFT="左",IF.MICROBIT_GESTURE_RIGHT="右",IF.MICROBIT_GESTURE_FACE_UP="朝上",IF.MICROBIT_GESTURE_FACE_DOWN="朝下",IF.MICROBIT_GESTURE_FREEFAIL="自由下落",IF.MICROBIT_IMAGE_HEART="心形",IF.MICROBIT_IMAGE_HEART_SMALL="心(小)",IF.MICROBIT_IMAGE_HAPPY="高興",IF.MICROBIT_IMAGE_SMILE="笑臉",IF.MICROBIT_IMAGE_SAD="傷心",IF.MICROBIT_IMAGE_CONFUSED="困惑",IF.MICROBIT_IMAGE_ANGRY="生氣",IF.MICROBIT_IMAGE_ASLEEP="睡著",IF.MICROBIT_IMAGE_SUPRISED="驚訝",IF.MICROBIT_IMAGE_SILLY="愚蠢",IF.MICROBIT_IMAGE_FABULOUS="極妙",IF.MICROBIT_IMAGE_MEH="無聊",IF.MICROBIT_IMAGE_YES="是",IF.MICROBIT_IMAGE_NO="否",IF.MICROBIT_IMAGE_CLOCK12="12點",IF.MICROBIT_IMAGE_CLOCK11="11點",IF.MICROBIT_IMAGE_CLOCK10="10點",IF.MICROBIT_IMAGE_CLOCK9="9點",IF.MICROBIT_IMAGE_CLOCK8="8點",IF.MICROBIT_IMAGE_CLOCK7="7點",IF.MICROBIT_IMAGE_CLOCK6="6點",IF.MICROBIT_IMAGE_CLOCK5="5點",IF.MICROBIT_IMAGE_CLOCK4="4點",IF.MICROBIT_IMAGE_CLOCK3="3點",IF.MICROBIT_IMAGE_CLOCK2="2點",IF.MICROBIT_IMAGE_CLOCK1="1點",IF.MICROBIT_IMAGE_ARROW_N="箭頭-北",IF.MICROBIT_IMAGE_ARROW_NE="箭頭-東北",IF.MICROBIT_IMAGE_ARROW_E="箭頭-東",IF.MICROBIT_IMAGE_ARROW_SE="箭頭-東南",IF.MICROBIT_IMAGE_ARROW_S="箭頭-南",IF.MICROBIT_IMAGE_ARROW_SW="箭頭-西南",IF.MICROBIT_IMAGE_ARROW_W="箭頭-西",IF.MICROBIT_IMAGE_ARROW_NW="箭頭-西北",IF.MICROBIT_IMAGE_TRIANGLE="三角形",IF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",IF.MICROBIT_IMAGE_CHESSBOARD="棋盤",IF.MICROBIT_IMAGE_DIAMOND="菱形",IF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",IF.MICROBIT_IMAGE_SQUARE="方形",IF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",IF.MICROBIT_IMAGE_RABBIT="兔子",IF.MICROBIT_IMAGE_COW="牛",IF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",IF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",IF.MICROBIT_IMAGE_MUSIC_QUAVERS="顫音",IF.MICROBIT_IMAGE_PITCHFORK="叉子",IF.MICROBIT_IMAGE_XMAS="聖誕樹",IF.MICROBIT_IMAGE_PACMAN="吃豆人",IF.MICROBIT_IMAGE_TARGET="目標",IF.MICROBIT_IMAGE_TSHIRT="T恤衫",IF.MICROBIT_IMAGE_ROLLERSKATE="輪滑",IF.MICROBIT_IMAGE_DUCK="鴨子",IF.MICROBIT_IMAGE_HOUSE="房子",IF.MICROBIT_IMAGE_TORTOISE="烏龜",IF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",IF.MICROBIT_IMAGE_STICKFIGURE="線條畫",IF.MICROBIT_IMAGE_GHOST="幽靈",IF.MICROBIT_IMAGE_SWORD="寶劍",IF.MICROBIT_IMAGE_GIRAFFE="長頸鹿",IF.MICROBIT_IMAGE_SKULL="頭",IF.MICROBIT_IMAGE_UMBRELLA="傘",IF.MICROBIT_IMAGE_SNAKE="蛇",IF.MICROBIT_IMAGE_ALL_CLOCKS="所有時鐘",IF.MICROBIT_IMAGE_ALL_ARROWS="所有箭頭",IF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",IF.MICROBIT_PIN_SET_SERVO_TOOLTIP="設置舵機角度,範圍為 0 180度",IF.MICROBIT_PIN_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",IF.MICROBIT_PIN_SET_MODE_HELPURL="",IF.MICROBIT_PIN_SET_MODE_TOOLTIP="引腳模式有三種:懸空、上拉、下拉",IF.MICROBIT_PIN_SET_MODE_MESSAGE0="設置引腳 %1 模式為 %2",IF.MICROBIT_PIN_MODE_NO="懸空",IF.MICROBIT_PIN_MODE_UP="上拉",IF.MICROBIT_PIN_MODE_DOWN="下拉",IF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",IF.MICROBIT_UART_INIT_TOOLTIP="",IF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",IF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到數據",IF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_READ_MSG_TOOLTIP="",IF.MICROBIT_UART_READ_MSG_MESSAGE0="讀取串口 %1 字節",IF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",IF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="讀取串口 %1 字節存至 %2",IF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",IF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口發送數據 %1",IF.MICROBIT_ALL_BYTES="全部",IF.MICROBIT_ALINE_BYTES="一行",IF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引腳 %1 被觸發",IF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按鍵按下返回 “真”,否則返回 “假”。",IF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",IF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸發",IF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按鍵曾經按下過返回 “真”,否則返回 “假”。",IF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",IF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引腳 %1 被觸發過的次數",IF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按鍵按下的總次數,然後清除計數。",IF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",IF.LABPLUS_LED_MESSAGE0="設置LED燈 引腳 %2 輸出 %1",IF.LABPLUS_LED_TOOLTIP="",IF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",IF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="紅外探測 引腳 %1 被觸發",IF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="熱敏傳感器 引腳 %1 的值",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",IF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C數字光線傳感器的值(lux)",IF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",IF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",IF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位傳感器 引腳 %1 的值",IF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",IF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="煙霧探測器 引腳 %1 被觸發",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",IF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_FOR_TOOLTIP="",IF.LABPLUS_BUZZER_FOR_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0 %2 毫秒",IF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_ON_TOOLTIP="",IF.LABPLUS_BUZZER_ON_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0",IF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_OFF_TOOLTIP="",IF.LABPLUS_BUZZER_OFF_MESSAGE0="關閉蜂鳴器 引腳0",IF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C溫濕度傳感器的 %1 值",IF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",IF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",IF.LABPLUS_TM_HM_SENSOR_TM="溫度",IF.LABPLUS_TM_HM_SENSOR_HM="濕度",IF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",IF.LABPLUS_SET_SERVO_TOOLTIP="",IF.LABPLUS_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",IF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指紋傳感器 引腳 %1 驗證通過",IF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",IF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",IF.LABPLUS_SET_MOTOR_HELPURL="",IF.LABPLUS_SET_MOTOR_TOOLTIP="",IF.LABPLUS_SET_MOTOR_MESSAGE0="設置電機 %1 方向 %2 速度 %3",IF.LABPLUS_SET_MOTOR_CLOCKWISE="正轉",IF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反轉",IF.LABPLUS_STOP_MOTOR_HELPURL="",IF.LABPLUS_STOP_MOTOR_TOOLTIP="",IF.LABPLUS_STOP_MOTOR_MESSAGE0="停止電機",IF.LABPLUS_GET_RFID_ID_MESSAGE0="射頻卡 引腳 %1 驗證通過",IF.LABPLUS_GET_RFID_ID_TOOLTIP="",IF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",IF.LABPLUS_GET_RFID_VALUE_MESSAGE0="電子錢包 引腳 %1 余額",IF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",IF.LABPLUS_GET_RFID_VALUE_HELPURL="",IF.LABPLUS_SET_RFID_VALUE_MESSAGE0="設置電子錢包 引腳 %1 余額 %2 %3",IF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",IF.LABPLUS_SET_RFID_VALUE_HELPURL="",IF.LABPLUS_SET_RFID_ADD="增加",IF.LABPLUS_SET_RFID_MINUS="減少",IF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="聲音傳感器 引腳 %1 被觸發",IF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",IF.LABPLUS_USB_SWITCH_HELPURL="",IF.LABPLUS_USB_SWITCH_TOOLTIP="",IF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB開關 引腳 %2",IF.LABPLUS_USB_SWITCH_ON="打開",IF.LABPLUS_USB_SWITCH_OFF="關閉",IF.LABPLUS_VOICE_RECORD_HELPURL="",IF.LABPLUS_VOICE_RECORD_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 語音錄放器 引腳 %2",IF.LABPLUS_VOICE_RECORD_ON="打開",IF.LABPLUS_VOICE_RECORD_OFF="關閉",IF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引腳 %1 控制RGB 彩燈數 %2 ",IF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩燈。需要設定 neopixels 彩燈數量和控制腳。",IF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",IF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩燈 %1",IF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩燈",IF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",IF.LABPLUS_RGB_SHOW_MESSAGE0="顯示 RGB 彩燈 %1",IF.LABPLUS_RGB_SHOW_TOOLTIP="顯示 / 更新全部 RGB 彩燈。",IF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",IF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",IF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩燈的紅、綠、藍 (RGB) 顏色",IF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="設置擴展端口 IO %1 為 %2",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示輸出引腳,1表示輸入引腳",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="輸入",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="輸出",IF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",IF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",IF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="讀取擴展端口值 IO %1",IF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",IF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",IF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="設置擴展端口 IO %1 值為 %2",IF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",IF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",IF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超聲波傳感器的值",IF.MICROBIT_SET_MUSIC_PIN_HELPURL="",IF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",IF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="設置默認蜂鳴器引腳為 %1",IF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E4%BA%BA%E4%BD%93%E6%84%9F%E5%BA%94",IF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人體感應 引腳 %1 被觸發",IF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%97%A8%E7%A3%81%E5%BC%80%E5%85%B3",IF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="門磁開關 引腳 %1 被觸發",IF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",IF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",IF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="聲音傳感器 引腳 %1 的值",IF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",IF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",IF.LABPLUS_SMOKE_SENSOR_MESSAGE0="煙霧傳感器 引腳 %1 的值",IF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",IF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",IF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤濕度傳感器 引腳 %1 的值",IF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",IF.LABPLUS_FAN_SWITCH_TOOLTIP="",IF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 風扇 引腳 %2",IF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 引腳 %2",IF.LABPLUS_VOICE_RECORD_PLAY="播放",IF.LABPLUS_VOICE_RECORD_REC="錄音",IF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 引腳 %1",IF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_ON_TOOLTIP="",IF.LABPLUS_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳 %3",IF.LABPLUS_MOTOR_ON_CLOCKWISE="正轉",IF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反轉",IF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_OFF_TOOLTIP="",IF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流電機 引腳 %1",IF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",IF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",IF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C顏色傳感器讀取並儲存顏色",IF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",IF.LABPLUS_RGB_COLOR_TOOLTIP="讀取已儲存的顏色",IF.LABPLUS_RGB_COLOR_MESSAGE0="RGB顏色 %1",IF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",IF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",IF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="設置I2C數碼管的值為 %1",IF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",IF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",IF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="關閉I2C數碼管",IF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",IF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="設置MIDI模塊音調為 %1",IF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",IF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模塊 %2 音符 %1",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",IF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si",IF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",IF.LABPLUS_UART_OFF_MIDI_NOTE="停止",IF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",IF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模塊停止播放音符 %1",IF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",IF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模塊 %1",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循跡傳感器 引腳 %1 檢測為黑",IF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",IF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",IF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35溫度傳感器 引腳 %1 的值",IF.LABPLUS_ROTATE_DIMMER_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%97%8B%E9%92%AE%E7%94%B5%E4%BD%8D%E5%99%A8",IF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",IF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋轉電位器 引腳 %1 的值",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震動傳感器 引腳 %1 被觸發",IF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",IF.LABPLUS_LASER_SWITCH_TOOLTIP="",IF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光開關 引腳 %2",IF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",IF.LABPLUS_4BUTTON_TOOLTIP="",IF.LABPLUS_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",IF.BLUE="A",IF.GREEN="B",IF.RED="C",IF.YELLOW="D",IF.LABPLUS_JOYSTICK_HELPURL="",IF.LABPLUS_JOYSTICK_TOOLTIP="",IF.LABPLUS_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",IF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",IF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",IF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模塊(UART)播放第 %1 首音樂",IF.LABPLUS_UART_MP3_SET_VOLUME_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",IF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",IF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="設置MP3模塊(UART)音量為 %1",IF.LABPLUS_UART_MP3_SET_STATUS_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",IF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",IF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="設置MP3模塊(UART)狀態為 %1",IF.PAUSE="暫停",IF.STOP="停止",IF.PLAY="繼續播放",IF.PLAYNEXT="下一首",IF.PLAYPREV="上一首",IF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_INIT_TOOLTIP="",IF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",IF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打開錄放器 %1 %2 引腳REC %3 引腳PLAY %4",IF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="關閉錄放器 %1 引腳REC %2 引腳PLAY %3",IF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_ON1_TOOLTIP="",IF.LABPLUS_MOTOR_ON1_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",IF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_OFF1_TOOLTIP="",IF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="設置LCD遊標位置%1 X %2 Y %3";IF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="設置LCD顯示 %1",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循環次數使用",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滾動LCD顯示內容",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD顯示內容",IF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",IF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到數據",IF.BLUEBIT_UART="串口",IF.BLUEBIT_INFRARED_SIGNAL="紅外信號",IF.BLUEBIT_BLUEBOOTH="藍牙",IF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_READ_MSG_TOOLTIP="",IF.LABPLUS_UART_READ_MSG_MESSAGE0="讀取 %1 數據",IF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",IF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 發送數據 %2",IF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",IF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",IF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="設置點陣 %1 第一行顯示%2 第二行顯示%3 第三行顯示%4 第四行顯示%5 第五行顯示%6 第六行顯示%7 第七行顯示%8 第八行顯示%9 ",IF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE2="設置點陣 %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空點陣",IF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_TOOLTIP="",IF.LABPLUS_UART_SET_OLED_MESSAGE0="設置OLED屏 %1 X %2 Y %3 顯示文本 %4 字體為 %5",IF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",IF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩陣 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",IF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",IF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",IF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模擬光線傳感器 引腳 %1 的值",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按鍵模塊 引腳 %1 被按下",IF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",IF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="設置舵機 %1 的角度為 %2",IF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",IF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="設置馬達 %1 方向 %2 速度 %3",IF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",IF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止馬達 %1",IF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="聲音傳感器的值",IF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",IF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光線傳感器的值",IF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",IF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_INIT_I2C_TOOLTIP="",IF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 頻率 %1 引腳SDA %2 引腳SCL %3",IF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_I2C_READ_TOOLTIP="",IF.MICROBIT_I2C_READ_MESSAGE0="I2C讀取從地址 %1 讀取 %2 字節",IF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_I2C_WRITE_TOOLTIP="",IF.MICROBIT_I2C_WRITE_MESSAGE0="I2C寫入 %2 到地址 %1",IF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",IF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",IF.BOTBIT_MOTOR_ON_HELPURL="",IF.BOTBIT_MOTOR_ON_TOOLTIP="範圍:-2000~2000",IF.BOTBIT_MOTOR_ON_MESSAGE0="設置機器人 %1 右輪速度為 %2 左輪速度為 %3",IF.BOTBIT_MOTOR_LEFT="左",IF.BOTBIT_MOTOR_RIGHT="右",IF.BOTBIT_SERVO_UP="上方",IF.BOTBIT_SERVO_DOWN="下方",IF.BOTBIT_MOTOR_FORWARD="前進",IF.BOTBIT_MOTOR_BACKWARD="後退",IF.BOTBIT_HOLDBALL_HELPURL="",IF.BOTBIT_HOLDBALL_TOOLTIP="",IF.BOTBIT_HOLDBALL_MESSAGE0="雙臂抱起",IF.BOTBIT_STEERING_ENGINEL_HELPURL="",IF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度範圍為-45°~45°",IF.BOTBIT_STEERING_ENGINEL_MESSAGE0="設置 %1臂 %2的角度為 %3",IF.BOTBIT_SERVO_Y="Y軸舵機",IF.BOTBIT_SERVO_X="X軸舵機",IF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",IF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度範圍為-45°~45°",IF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="設置 %1腿 %2舵機的角度為 %3",IF.BOTBIT_UPDATEPOSITION_HELPURL="",IF.BOTBIT_UPDATEPOSITION_TOOLTIP="",IF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵機角度",IF.BOTBIT_ULTRASONIC_HELPURL="",IF.BOTBIT_ULTRASONIC_TOOLTIP="",IF.BOTBIT_ULTRASONIC_MESSAGE0="超聲波傳感器的值",IF.BOTBIT_WALKING_HELPURL="",IF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推薦1000~2000",IF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步數%2 周期%3 方向%1 ",IF.BOTBIT_WALKING_FORWARD="前",IF.BOTBIT_WALKING_BACK="後",IF.BOTBIT_MOONWALKER_HELPURL="",IF.BOTBIT_MOONWALKER_TOOLTIP="推薦周期1000~2000, 幅度10~50",IF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步數%2 周期%3 幅度%4 方向%1 ",IF.BOTBIT_MOONWALKER_L="左",IF.BOTBIT_MOONWALKER_R="右",IF.BOTBIT_CRUSAITO_HELPURL="",IF.BOTBIT_CRUSAITO_TOOLTIP="推薦步數2~10, 幅度10~50",IF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步數%2 周期%3 幅度%4 方向%1",IF.BOTBIT_CRUSAITO_CW="逆時針",IF.BOTBIT_CRUSAITO_ANTICW="順時針",IF.BOTBIT_FLAPPING_HELPURL="",IF.BOTBIT_FLAPPING_TOOLTIP="推薦步數5~15, 幅度10~30, 周期1000~2000",IF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步數%2 周期%3 幅度%4 方向%1",IF.BOTBIT_FLAPPING_FORWARD="前",IF.BOTBIT_FLAPPING_BACK="後",IF.BOTBIT_HOME_HELPURL="",IF.BOTBIT_HOME_TOOLTIP="",IF.BOTBIT_HOME_MESSAGE0="機器人舞步初始化",IF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",IF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",IF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="設置MIDI模塊音量為 %1",IF.labplus_mapping_MESSAGE0="映射%1 從%2 , %3到%4 , %5",IF.labplus_mapping_TOOLTIP="將0~100中的10映射到0~200中並返回映射值",IF.labplus_mapping_HELPURL="",IF.JOINT_MIDI_PIANO="平臺鋼琴",IF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",IF.JOINT_MIDI_ELECTRICGRANDPIANO="電鋼琴",IF.JOINT_MIDI_HARPSICHORD="大鍵琴",IF.JOINT_MIDI_Celesta="鋼片琴",IF.JOINT_MIDI_Glockenspiel="鐘琴",IF.JOINT_MIDI_Musicalbox="音樂盒",IF.JOINT_MIDI_Marimba="馬林巴琴",IF.JOINT_MIDI_Xylophone="木琴",IF.JOINT_MIDI_TubularBell="管鐘",IF.JOINT_MIDI_Dulcimer="洋琴",IF.JOINT_Vibraphone="顫音琴",IF.JOINT_MIDI_ORGAN="音栓風琴",IF.JOINT_Acoustic_Guitar="木吉他",IF.JOINT_Electric_Guitar="電吉他",IF.JOINT_Acoustic_Bass="民謠貝斯",IF.JOINT_String_Ensemble="弦樂合奏",IF.JOINT_Violin="小提琴",IF.JOINT_Trumpet="小號",IF.JOINT_Sax="薩克斯",IF.JOINT_Steel_Drums="鋼鼓",IF.JOINT_Lead="合成音主旋律",IF.JOINT_Pad="合成音襯底",IF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",IF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音調 %1",IF.Carbit_init_MESSAGE0="CarBit初始化",IF.Carbit_init_TOOLTIP="",IF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_setLeftMotor_MESSAGE0="B2電機速度 %1",IF.Carbit_setLeftMotor_TOOLTIP="範圍:-100~100",IF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_setRightMotor_MESSAGE0="B1電機速度 %1",IF.Carbit_setRightMotor_TOOLTIP="範圍:-100~100",IF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_analog_light_TOOLTIP="Q3對應Pin1Q4對應Pin2",IF.Carbit_analog_light_MESSAGE0="%1 模擬光線的值",IF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Speed_U10_TOOLTIP="對應U10",IF.Carbit_Speed_U10_MESSAGE0="左輪速度",IF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Speed_U11_TOOLTIP="對應U11",IF.Carbit_Speed_U11_MESSAGE0="右輪速度",IF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Distance_TOOLTIP="",IF.Carbit_Distance_MESSAGE0="超聲波的值",IF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_tracking_TOOLTIP="",IF.Carbit_tracking_MESSAGE0="循跡參數 %1 直行速度 %2 最大限速 %3 轉彎延時 %5 轉彎速度系數 %4 ",IF.XUNFEI_SPEECH_TTS_HELPURL="",IF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音頻文件格式只能是 *.pcm",IF.XUNFEI_SPEECH_TTS_MESSAGE0="[訊飛語音] 合成音頻 %1 APPID %2 APISecret %3 APIKey %4 文字內容 %5 轉存為音頻文件 %6",IF.XUNFEI_SPEECH_IAT_HELPURL="",IF.XUNFEI_SPEECH_IAT_TOOLTIP="可識別的音頻格式有 *.pcm 與 *.wav",IF.XUNFEI_SPEECH_IAT_MESSAGE0="[訊飛語音] 識別音頻 %1 APPID %2 APISecret %3 APIKey %4 待識別音頻文件 %5",IF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",IF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",IF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[訊飛語音] 識別結果",IF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",IF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",IF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",IF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",IF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",IF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3] 从0到3依次顺时针旋转",IF.MPYTHON_ZKAI_SENSOR_RESET_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",IF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",IF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",IF.MPYTHON_ZKAI_SENSOR_ENABLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",IF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",IF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",IF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",IF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",IF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",IF.MPYTHON_ZKAI_LCD_TEXT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",IF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",IF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",IF.MPYTHON_ZKAI_SENSOR_OffOn_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%85%B3%E9%97%AD%E6%91%84%E5%83%8F%E5%A4%B4",IF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",IF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",IF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",IF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",IF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",IF.MPYTHON_ZKAI_SENSOR_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",IF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",IF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高获取帧缓冲获取ID)",IF.MPYTHON_ZKAI_SENSOR_SETS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",IF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",IF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",IF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",IF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",IF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",IF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%A2%9E%E7%9B%8A%E5%80%BC",IF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",IF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",IF.MPYTHON_ZKAI_IMAGE_LAB_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%89%BE%E7%BB%BF%E8%89%B2",IF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",IF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",IF.MPYTHON_ZKAI_TRACE_COLOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",IF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",IF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追蹤色塊",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追蹤色塊 顯示%1",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1獲取識別後色塊的 所有參數",IF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 x座標",IF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 y座標",IF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1獲取識別後色塊的 寬度",IF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1獲取識別後色塊的 高度",IF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1獲取識別後色塊的 數量",IF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心x座標",IF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心y座標",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1獲取識別後色塊的 矩形",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI2_FACE_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 人臉",IF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",IF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 人臉識別",IF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",IF.MPYTHON_ZKAI2_RESULT_FACE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)獲取識別後人臉的 所有參數",IF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",IF.MPYTHON_ZKAI2_RESULT_FACE_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)獲取識別後人臉的 x座標",IF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",IF.MPYTHON_ZKAI2_RESULT_FACE_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)獲取識別後人臉的 y座標",IF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",IF.MPYTHON_ZKAI2_RESULT_FACE_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)獲取識別後人臉的 寬度",IF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",IF.MPYTHON_ZKAI2_RESULT_FACE_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)獲取識別後人臉的 高度",IF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",IF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)獲取識別後人臉的 置信度",IF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",IF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)獲取識別後人臉的 數量",IF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",IF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",IF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",IF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",IF.MPYTHON_ZKAI_SENSOR_IMAGES_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",IF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",IF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",IF.MPYTHON_ZKAI2_20class_TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 20類",IF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以識別20個類型分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 20類識別",IF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",IF.MPYTHON_ZKAI2_RESULT_20CLASS_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)獲取識別後20類的 所有參數",IF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",IF.MPYTHON_ZKAI2_RESULT_20CLASS_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)獲取識別後20類的 x座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)獲取識別後20類的 y座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)獲取識別後20類的 寬度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)獲取識別後20類的 高度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)獲取識別後20類的 置信度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)獲取識別後20類的 數量",IF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",IF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)獲取識別後20類的 類型",IF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)獲取識別後20類的 類型數量",IF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",IF.MPYTHON_ZKAI2_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)選擇訓練模型 手寫數字",IF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",IF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",IF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)調用攝像頭進行 手寫數字識別",IF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)獲取識別後手寫數字的 所有參數",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)獲取識別後手寫數字的 數字",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)獲取識別後手寫數字的 置信度",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="获取 识别%1",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置width和height是人脸识别出的宽度和高度classid是识别出的类别objnum是人脸识别出的个数",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="获取 识别 所有参数",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置width和height是人脸识别出的宽度和高度classid是识别出的类别objnum是人脸识别出的个数",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="人脸识别",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",IF.MPYTHON_ZKAI_IMAGE_20CLASS_HELPURL="https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",IF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="可以放入获取识别的参数可以识别20个类型分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",IF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",IF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",IF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",IF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",IF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",IF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",IF.MPYTHON_ZKAI_LCD_TEXT_MOST_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",IF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",IF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-2%EF%BC%9A-%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",IF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",IF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",IF.MPYTHON_ZKAI_SENSOR_ENABLE_START="開始抓取圖像",IF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取圖像",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平鏡像",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻轉",IF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="對比度",IF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",IF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="飽和度",IF.MPYTHON_ZKAI2_FACE_YOLO="人臉識別",IF.MPYTHON_ZKAI2_CLASS_20_YOLO="20類識別",IF.MPYTHON_ZKAI2_MNIST_NET="数字识别",IF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人臉",IF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="0類",IF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",IF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="聲明python 運行環境",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",IF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C獲取顔色",IF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",IF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",IF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C獲取 %1",IF.MPYTHON_lARK_RED="紅色",IF.MPYTHON__LARK_GREEN="綠色",IF.MPYTHON__LARK_BLUE="藍色",IF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C獲取HSV",IF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C獲取HSV %1",IF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",IF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C獲取顔色",IF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",IF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="識別 %1",IF.MPYTHON_LARK_RED="紅色",IF.MPYTHON_LARK_GREEN="綠色",IF.MPYTHON_LARK_BLUE="藍色",IF.MPYTHON_LARK_ORANGE="橙色",IF.MPYTHON_LARK_YELLOW="黃色",IF.MPYTHON_LARK_PURPLE="紫色",IF.MPYTHON_LARK_CYAN="青色",IF.MPYTHON_LARK_NONE="無色",IF.MPYTHON_LARK_NULL="無法獲取",IF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",IF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超聲波",IF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C設置 %1 速度 %2",IF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C獲取 %1 巡綫值",IF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右邊",IF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左邊",IF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循跡傳感器 %1 遇到黑綫",IF.MPYTHON_LARK_SEARCH_LEFT="左邊",IF.MPYTHON_LARK_SEARCH_RIGHT="右邊",IF.MPYTHON_LARK_SEARCH_LEFT2="兩邊都",IF.MPYTHON_LARK_SEARCH_RIGHT2="兩邊都無",IF.MPYTHON_LARK_SEARCH_BOTH="兩邊都",IF.MPYTHON_LARK_SEARCH_NONE="兩邊都無",IF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",IF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里馬獲取顔色",IF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",IF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里馬獲取 %1",IF.MPYTHON_lARK_CAR_RED="紅色",IF.MPYTHON__LARK_CAR_GREEN="綠色",IF.MPYTHON__LARK_CAR_BLUE="藍色",IF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里馬獲取HSV",IF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里馬HSV %1",IF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",IF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里馬識別顔色",IF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",IF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里馬識別顔色 %1",IF.MPYTHON_LARK_CAR_RED="紅色",IF.MPYTHON_LARK_CAR_GREEN="綠色",IF.MPYTHON_LARK_CAR_BLUE="藍色",IF.MPYTHON_LARK_CAR_ORANGE="橙色",IF.MPYTHON_LARK_CAR_YELLOW="黃色",IF.MPYTHON_LARK_CAR_PURPLE="紫色",IF.MPYTHON_LARK_CAR_CYAN="青色",IF.MPYTHON_LARK_CAR_NONE="無識別",IF.MPYTHON_LARK_CAR_NULL="識別錯誤",IF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",IF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里馬獲取超聲波",IF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里馬獲取 %1 循跡數值",IF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右邊",IF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左邊",IF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里馬循跡 %1 碰到黑綫",IF.MPYTHON_LARK_CAR_SEARCH_LEFT="左邊",IF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右邊",IF.MPYTHON_LARK_CAR_SEARCH_LEFT2="兩邊",IF.MPYTHON_LARK_CAR_SEARCH_NONE="兩邊都沒有",IF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="電機驅動 %1 速度 %2",IF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里馬 %1 速度 %2",IF.MPYTHON_LARK_CAR_MOTION_LEFT="左轉",IF.MPYTHON_LARK_CAR_MOTION_RIGHT="右轉",IF.MPYTHON_LARK_CAR_MOTION_FORWARD="前進",IF.MPYTHON_LARK_CAR_MOTION_BACKWARD="後退",IF.MPYTHON_LARK_CAR_MOTION_STOP="停止",IF.MPYTHON_DEFINE_THREAD_MESSAGE0="定義線程 %1",IF.MPYTHON_RUN_THREAD_MESSAGE0="運行線程 %1",IF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 轉換數字為bytes %1 %2 %3 %4 待轉換數字 %5",IF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes為數字 %1 %2 %3 %4 待轉換bytes %5",IF.LITTLE_ENDIAN="低字節序(默認)",IF.BIG_ENDIAN="高字節序",IF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[適用2.0板] 當掌控板 %1 時",IF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",IF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向後傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",IF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",IF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被單擊",IF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被雙擊",IF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="墜落",IF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="橫滾角",IF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",IF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",IF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",IF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",IF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",IF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",IF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按鍵 %1 已經按下",IF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",IF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",IF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按鍵 %1 曾經按下",IF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",IF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",IF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按鍵 %1 按下過的次數",IF.MPYTHON2_BUTTON_EVENT_MESSAGE0="當按鍵 %1 被 %2 時",IF.MPYTHON2_BUTTON_EVENT_HELPURL="",IF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",IF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",IF.MPYTHON2_BUTTON_EVENT_RELEASED="松開",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="觸摸鍵 %1 已經按下",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="觸摸鍵 %1 曾經按下",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="觸摸鍵 %1 按下過的次數",IF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",IF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="觸摸鍵 %1 值",IF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",IF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",IF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="觸摸",IF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="釋放",IF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="設置觸摸鍵 %1 閥值為 %2",IF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",IF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",IF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",IF.BLE_UUID_TOOLTIP="",IF.BLE_SETUP_PERIPHERAL_HELPURL="",IF.BLE_SETUP_PERIPHERAL_TOOLTIP="",IF.BLE_SETUP_PERIPHERAL_MESSAGE0="構建 BLE 外圍設備對象 %1 顯示名稱 %2 Service UUID %3",IF.BLE_ADD_CHARACTERISTIC_HELPURL="",IF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",IF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定義 BLE 屬性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",IF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",IF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",IF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外圍設備 %1",IF.BLE_START_BROADCASTING="開始廣播",IF.BLE_STOP_BROADCASTING="停止廣播",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="讀 BLE 設備的屬性 %1",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="寫 BLE 設備的屬性 %1 %2 值 %3 Notify %4",IF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",IF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",IF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外圍設備斷開連接",IF.BLE_PERIPHERAL_MAC_HELPURL="",IF.BLE_PERIPHERAL_MAC_TOOLTIP="",IF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外圍設備 MAC地址",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="當 BLE 與中央設備建立連接時 %1 連接句柄 %2 地址類型 %3 中央設備的MAC地址 %4",IF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",IF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",IF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="當 BLE 設備的屬性值被改寫時 %1 連接句柄 %2 被寫屬性句柄 %3 寫入的數據 %4",IF.BLE_SETUP_CENTERAL_HELPURL="",IF.BLE_SETUP_CENTERAL_TOOLTIP="",IF.BLE_SETUP_CENTERAL_MESSAGE0="構建 BLE 中央設備對象 顯示名稱 %1",IF.BLE_CENTERAL_CONNECT_HELPURL="",IF.BLE_CENTERAL_CONNECT_TOOLTIP="",IF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央設備連接到 %1 %2",IF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",IF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",IF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外圍設備已連接 ?",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="設定 %1 為 已連接外圍設備 屬性對象 %2 Service UUID %3 Characteristic UUID %4",IF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",IF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",IF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="讀 已連接外圍設備的 屬性 %1 值",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="寫 已連接外圍設備的 屬性 %1 值 %2",IF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",IF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",IF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="當 已連接外圍設備發起 Notify 通知事件時 %1 屬性的值柄 %2 通知的屬性值 %3",IF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",IF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",IF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已連接的外圍設備 %1",IF.BLE_CENTERAL_CLOSE_HELPURL="",IF.BLE_CENTERAL_CLOSE_TOOLTIP="",IF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央設備 斷開連接",IF.BLE_INFO_NAME="藍牙名稱",IF.BLE_INFO_MAC="MAC地址",IF.BLE_INFO_RSSI="信號強度",IF.BLE_INFO_ADDRTYPE="地址類型",IF.BLE_INFO_ADVTYPE="廣播類型",IF.BLE_INFO_DATA="原始數據(元組)",IF.BLE_SETUP_UART_HELPURL="",IF.BLE_SETUP_UART_TOOLTIP="",IF.BLE_SETUP_UART_MESSAGE0="構建 BLE UART從機 顯示名稱 %1",IF.BLE_UART_IS_CONNECTED_HELPURL="",IF.BLE_UART_IS_CONNECTED_TOOLTIP="",IF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已連接 ?",IF.BLE_UART_ANY_HELPURL="",IF.BLE_UART_ANY_TOOLTIP="",IF.BLE_UART_ANY_MESSAGE0="BLE UART 可讀字節數量",IF.BLE_UART_IRQ_HELPURL="",IF.BLE_UART_IRQ_TOOLTIP="",IF.BLE_UART_IRQ_MESSAGE0="當 BLE UART 接收到數據時 %1 執行 %2",IF.BLE_UART_READ_HELPURL="",IF.BLE_UART_READ_TOOLTIP="從 UART 另一端發送過來的消息",IF.BLE_UART_READ_MESSAGE0="已接收數據",IF.BLE_UART_WRITE_HELPURL="",IF.BLE_UART_WRITE_TOOLTIP="",IF.BLE_UART_WRITE_MESSAGE0="BLE UART 發送字節 %1",IF.BLE_UART_CLOSE_HELPURL="",IF.BLE_UART_CLOSE_TOOLTIP="",IF.BLE_UART_CLOSE_MESSAGE0="BLE UART 斷開連接",IF.BLE_SETUP_UART_MASTER_HELPURL="",IF.BLE_SETUP_UART_MASTER_TOOLTIP="",IF.BLE_SETUP_UART_MASTER_MESSAGE0="構建 BLE UART主機 連接到 %1 %2",IF.BLE_SETUP_HID_HELPURL="",IF.BLE_SETUP_HID_TOOLTIP="",IF.BLE_SETUP_HID_MESSAGE0="構建 BLE HID %1 對象 %2 顯示名稱 %3 電池電量 %4",IF.BLE_HID_MOUSE="鼠標",IF.BLE_HID_KEYBOARD="鍵盤",IF.BLE_HID_CONSUMER="遙控器",IF.BLE_HID_ADVERTISE_HELPURL="",IF.BLE_HID_ADVERTISE_TOOLTIP="",IF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID設備 %1",IF.BLE_HID_CONNECT_EVENT_HELPURL="",IF.BLE_HID_CONNECT_EVENT_TOOLTIP="",IF.BLE_HID_CONNECT_EVENT_MESSAGE0="當 BLE HID設備 連接時",IF.BLE_HID_DISCONNECT_HELPURL="",IF.BLE_HID_DISCONNECT_TOOLTIP="",IF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID設備 斷開連接",IF.BLE_HID_BATTERY_LEVEL_HELPURL="",IF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",IF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID設備 電池電量",IF.BLE_HID_MOUSE_BUTTONS_HELPURL="",IF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",IF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠標鍵 %1",IF.BLE_HID_MOUSE_CLICK_HELPURL="",IF.BLE_HID_MOUSE_CLICK_TOOLTIP="",IF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠標 點擊按鍵 %1",IF.BLE_HID_MOUSE_PRESS_HELPURL="",IF.BLE_HID_MOUSE_PRESS_TOOLTIP="",IF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠標 長按按鍵 %1",IF.BLE_HID_MOUSE_RELEASE_HELPURL="",IF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",IF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠標 釋放按鍵 %1",IF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",IF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",IF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠標 釋放所有按鍵",IF.BLE_HID_MOUSE_MOVE_HELPURL="",IF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光標移動量,範圍 ±127 。\nwheel - 滾輪,範圍 ±127 。",IF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠標 光標移動 %1 X軸移動量 %2 Y軸移動量 %3 滾輪 %4",IF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",IF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",IF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="鍵盤按鍵 %1",IF.BLE_HID_KEYBOARD_SEND_HELPURL="",IF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",IF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 鍵盤 按下按鍵 %1",IF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",IF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",IF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 鍵盤 同時按下按鍵 %1 %2 %3",IF.BLE_HID_KEYBOARD_PRESS_HELPURL="",IF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",IF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 鍵盤 長按按鍵 %1",IF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",IF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",IF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 鍵盤 釋放按鍵 %1",IF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",IF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",IF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 鍵盤 釋放所有按鍵",IF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",IF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",IF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遙控器鍵 %1",IF.BLE_HID_CONSUMER_SEND_HELPURL="",IF.BLE_HID_CONSUMER_SEND_TOOLTIP="",IF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遙控器點擊 %1",IF.BLE_SETUP_IBEACON_HELPURL="",IF.BLE_SETUP_IBEACON_TOOLTIP="",IF.BLE_SETUP_IBEACON_MESSAGE0="構建 BLE iBeacon設備 %1 UUID %2 major %3 minor %4",IF.BLE_IBEACON_ADVERTISE_HELPURL="",IF.BLE_IBEACON_ADVERTISE_TOOLTIP="",IF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon設備 %1",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回電量單位mV",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的電壓值(mV)",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回編碼後的紅外脈沖數據buff",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 紅外脈沖任意編碼 %1 載波頻率(Hz) %2 code總數 %3 循環碼位置 %4 code列表 %5 編碼波形數據 %6",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回編碼後的紅外脈沖數據buff\n用戶碼0~255\n命令碼0~255",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 紅外脈沖NEC編碼 %1 用戶碼 %2 命令碼 %3",IF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",IF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",IF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 發送紅外脈沖數據 %1 %2",IF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只發一次",IF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持續發送",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="當發送重復碼後,使用此函數來停止發送。",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止發送紅外脈沖數據",IF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",IF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="學習開始後需等待4秒之後返回學習結果。",IF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 開始紅外學習",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 紅外學習有結果 ?",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回學習後的“紅外編碼數據”,須在 learn 函數後使用。",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 學習到的紅外編碼數據",IF.MPYTHON_MLX90615_SET_HELPURL="",IF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接觸測溫傳感器 設置發射系數%1",IF.MPYTHON_MLX90615_SET_TOOLTIP="",IF.MPYTHON_MLX90615_GET_HELPURL="",IF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取系數",IF.MPYTHON_MLX90615_GET_TOOLTIP="",IF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",IF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取測溫",IF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",IF.MPYTHON_MQ135_INIT_HELPURL="",IF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 輸出引腳%1 溫度%2 ℃ 濕度%3 %",IF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 連接擴展板的電源口 V GND連接擴展板的地線口 G AO輸出連接擴展板的引腳 P0/P1(即選引腳)\nMQ135主要用於檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度",IF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",IF.MPYTHON_MQ135_OPTIONS_HELPURL="",IF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探測到的二氧化碳的百萬分之一(假設只有空氣中的二氧化碳) ppm濃度",IF.MPYTHON_MQ135_GET_RZERO="校正傳感器電阻",IF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正傳感器電阻(校準溫度、濕度)",IF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度",IF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度(校準溫度、濕度)",IF.mpython_gyroscope_get_HELPURL="",IF.mpython_gyroscope_get_MESSAGE0="%1 軸角速度",IF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版適用",IF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",IF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",IF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",IF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",IF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",IF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",IF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",IF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",IF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",IF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="設置角速度範圍,默認為 ±256dps。僅適用於掌控板2.3及以上版本",IF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="設置角速度範圍為 %1",IF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",IF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校準陀螺儀角速度計的3個軸(x,y,z)的角速度值偏差。\n一般情況下無需校準只有遇到角速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1024dps。\n註意v2.3版本以後適用",IF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校準角速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4";const aF=IF,pF={TEXT_IS_NUMBER_HELPURL:"",TEXT_IS_NUMBER_TOOLTIP:"",TEXT_IS_NUMBER_MESSAGE0:"%1 %2",TEXT_IS_DIGIT:"is number",TEXT_IS_ALPHA:"is letter",TEXT_IS_ALNUM:"is mix of numbers and letters",REDO:"Redo",UNDO:"Undo",DELETE_VARIABLE:'Delete "%1" variable',DELETE_VARIABLE_CONFIRMATION:'Delete %1 of the "%2" variable?',CONTROLS_REPEAT_FOREVER:"repeat forever",CONTROLS_REPEAT_FOREVER_TOOLTIP:"Do some statements forever times",TEXT_LIST_START:"create list [",TEXT_LIST_END:"]",TEXT_TUPLE_START:"create tuple (",TEXT_TUPLE_END:")",TEXT_DICT_START:"create dictionary {",TEXT_DICT_END:"}",TEXT_SET_START:"create set {",TEXT_SET_END:"}",TEXT_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",TUPLE_CREATE_EMPTY_TITLE:"create empty tuple",DICT_CREATE_EMPTY_TITLE:"create empty dictionary",SET_CREATE_EMPTY_TITLE:"create empty sets",TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD:"tuple",DICT_CREATE_WITH_CONTAINER_TITLE_ADD:"dictionary",SET_CREATE_WITH_CONTAINER_TITLE_ADD:"sets",TUPLE_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this tuple block.",DICT_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or rearrange sections to reconfigure this dictionary block.",TUPLE_CREATE_WITH_INPUT_WITH:"create tuple with",DICT_CREATE_WITH_INPUT_WITH:"create dictionary with",SET_CREATE_WITH_INPUT_WITH:"create sets with",TUPLE_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the tuple.",DICT_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the dictionary.",SET_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the sets.",LISTS_SORT_HELPURL:"https://github.com/google/blockly/wiki/Lists#sorting-a-list",LISTS_SORT_ORDER_ASCENDING:"ascending",LISTS_SORT_ORDER_DESCENDING:"descending",LISTS_SORT_TITLE:"sort %1 %2 %3",LISTS_SORT_TOOLTIP:"Sort a copy of a list.",LISTS_SORT_TYPE_IGNORECASE:"by letter, ignore case",LISTS_SORT_TYPE_NUMERIC:"by number",LISTS_SORT_TYPE_TEXT:"by letter",labplus_mapping_MESSAGE0:"map %1 from %2 , %3 to %4 , %5",labplus_mapping_TOOLTIP:"Map 10 of 0~100 to 0~200 and return the mapped value",labplus_mapping_HELPURL:"",MPYTHON_OPEN:"on",MPYTHON_CLOSE:"off",MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT:"shift left",MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT:"shift right",MPYTHONBOX_RGB_IMAGE_SHIFT_UP:"shift up",MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN:"shift down",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE:"grayscale",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW:"rainbow",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE:"negate",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT:"invert",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR:"line polar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR:"log polar",MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE:"grayscale",MPYTHON_AI_SENSOR_PATTERN_COLOR:"color",MPYTHON_AI_SENSOR_ENABLE_START:"start capturing image",MPYTHON_AI_SENSOR_ENABLE_STOP:"stop capturing image",MPYTHON_AI_SENSOR_LEVEL_MI_H:"horizontal mirror",MPYTHON_AI_SENSOR_LEVEL_MI_V:"vertical flip",MPYTHON_AI_SENSOR_SETS_CONTRAST:"contrast",MPYTHON_AI_SENSOR_SETS_BRIGHTNESS:"brightness",MPYTHON_AI_SENSOR_SETS_SATURATION:"saturation",MPYTHON_AI2_FACE_YOLO:"FACE YOLO",MPYTHON_AI2_CLASS_20_YOLO:"CLASS 20 YOLO",MPYTHON_AI_TRACE_COLOR_RECTANGLE:"rectangle",MPYTHON_AI_TRACE_COLOR_CROSS:"cross",TEXT_APPEND_TEXT_HELPURL:"",TEXT_APPEND_TEXT_TOOLTIP:"",TEXT_APPEND_TEXT_MESSAGE0:"%1 append text %2",MPYTHON_AUDIO_PLAY_chirp_MESSAGE0:"鸟叫",MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0:"钢琴黑暗旋律配乐",MPYTHON_AUDIO_PLAY_miaow_MESSAGE0:"猫叫",MPYTHON_AUDIO_PLAY_bark_MESSAGE0:"小狗吠叫",MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0:"浑厚的打击音",MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0:"紧张效果的音效",MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0:"拍照快门声",MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0:"数百只苍蝇",MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0:"蟋蟀叫声",MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0:"摇晃低音声线",MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0:"听众欢呼掌声",MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0:"邮轮汽笛",MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0:"现代电话铃声",MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0:"拔萝卜",MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0:"两只老虎",MPYTHON_AUDIO_SET_VOLUME_HELPURL:"",MPYTHON_AUDIO_SET_VOLUME_MESSAGE0:"set Audio volume as %1",MPYTHON_AUDIO_SET_VOLUME_TOOLTIP:"",MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL:"",MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0:"expansion-board speed of DC motor %1",MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP:"",MPYTHON_M1M2_LED_ON_HELPURL:"",MPYTHON_M1M2_LED_ON_MESSAGE0:"expansion-board set led at %1 brightness %2",MPYTHON_M1M2_LED_ON_TOOLTIP:"",MPYTHON_M1M2_LED_OFF_HELPURL:"",MPYTHON_M1M2_LED_OFF_MESSAGE0:"expansion-board turn off led at %1",MPYTHON_M1M2_LED_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0:"I2C RFID Read wallet data",MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP:"Read block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0:"I2C RFID Write wallet data%1",MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP:"Write block data, length 16 bytes",MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0:"I2C RFID wallet%1 money%2",MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0:"Recharge",MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0:"Deduction fee",MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0:"I2C RFID Get wallet balance",MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0:"I2C RFID Get serial number",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0:"I2C RFID Initialize Wallet",MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0:"I2C RFID scanning",MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP:"",MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0:"I2C ultrasonic value",MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP:"",MPYTHON_BLUEBIT_ULTRASONIC_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0:"%1 on pin %2 be triggered",MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP:"",MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0:"%1 on pin %2 analog value",MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_READ_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0:"set LED on pin %2 value as %1",MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP:"",MPYTHON_BLUEBIT_SET_ANALOG_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0:"tracking sensor on pin %1 detected as black",MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP:"",MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0:"turn on %1 on pin %2",MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FALSE_HELPURL:"http://wiki.labplus.cn/index.php?title=Bluebit",MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0:"turn off %1 on pin %2",MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0:"turn on recorder %1 %2 REC %3 PLAY %4",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0:"turn off recorder %1 REC %2 PLAY %3",MPYTHON_BLUEBIT_VOICE_RECORD_PLAY:"PLAY",MPYTHON_BLUEBIT_VOICE_RECORD_REC:"REC",STOP:("STOP","STOP"),MPYTHON_BLUEBIT_IR_RECEIVE:"infrared detection",MPYTHON_BLUEBIT_SOUND:"microphone",MPYTHON_BLUEBIT_LINE_FOLLOWER:"tracking sensor",MPYTHON_BLUEBIT_VIBRATION:"vibration sensor",MPYTHON_BLUEBIT_RFID:"RF card",MPYTHON_BLUEBIT_FINGERPRINT_SCANNER:"fingerprint scanner",MPYTHON_BLUEBIT_PIR:"PIR sensor",MPYTHON_BLUEBIT_MAGNETIC:"magnetic switch",MPYTHON_BLUEBIT_BUTTON:"button",MPYTHON_BLUEBIT_RELAY:"relay",MPYTHON_BLUEBIT_LIMIT_SWITCH:"limit switch",MPYTHON_BLUEBIT_FAN:"fan",MPYTHON_BLUEBIT_LASER:"laser",MPYTHON_BLUEBIT_NTC_TEMP:"NTC temperature",MPYTHON_BLUEBIT_WATER:"water level",MPYTHON_BLUEBIT_SOIL_MOISTURE:"soil moisture",MPYTHON_BLUEBIT_ROTATE_DIMMER:"rotate dimmer",MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER:"sliding potentiometer",MPYTHON_BLUEBIT_ANALOG_LIGHT:"analog light",MPYTHON_BLUEBIT_LM35_TEMP:"LM35 temperature",MPYTHON_BLUEBIT_SMOKE:"smoke",MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE:"corotation",MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE:"reverse",MPYTHON_BLUEBIT_READ_SOIL_HELPURL:"",MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP:"New soil moisture",MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0:"soil moisture(new)%1",MPYTHON_BLUEBIT_MOTOR_ON_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP:"speedMap -100~100 to -1023~1023",MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0:"turn on DC motor %1 speed %2 pin AIN1 %3 pin AIN2 %4",MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL:"http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0:"stop DC motor %1 pin AIN1 %2 pin AIN2 %3",MPYTHON_BLUEBIT_SET_FAN_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_MESSAGE0:"expansion-board turn on the fan %1",MPYTHON_LEFT:"LEFT",MPYTHON_RIGHT:"RIGHT",MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL:"",MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP:"",MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0:"expansion-board turn off the fan %1",MPYTHON_BLUEBIT_4BUTTON_HELPURL:"http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",MPYTHON_BLUEBIT_4BUTTON_TOOLTIP:"",MPYTHON_BLUEBIT_4BUTTON_MESSAGE0:"Navigation button module pin %1 button %2 is pressed",BLUE:"A",GREEN:"B",RED:"C",YELLOW:"D",MPYTHON_BLUEBIT_JOYSTICK_HELPURL:"",MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP:"",MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0:"Thumb joystick pin A0 %1 pin A1 %2 %3 axis",MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0:"expansion-board turn on DC motor %1 %2 speed %3",MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL:"",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP:"speed: 0~100",MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0:"expansion-board stop DC motor",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP:"speed: -1023~1023",MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0:"Coded motor mode%1 dial code%2 M1 speed%3 M2 speed%4",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL:"",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP:"Stop Coding Motor Rotation",MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0:"Stop Coding Motor Rotation %1",MPYTHON_BLUEBIT_INIT_MIDI_HELPURL:"",MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0:"Initialize MIDI TX pin %1",MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0:"Set MIDI volume as %1",MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP:"volume range:0~127",MIDI_PIANO:"ACOUSTIC GRAND PIANO",MIDI_BRIGHTACOUSTICPIANO:"BRIGHT ACOUSTIC PIANO",MIDI_ELECTRICGRANDPIANO:"ELECTRIC GRAND PIANO",MIDI_HARPSICHORD:"HARPSICHORD",MIDI_CELESTA:"CELESTA",MIDI_GLOCKENSPIEL:"GLOCKENSPIEL",MIDI_MUSICALBOX:"MUSICAL BOX",MIDI_MARIMBA:"MARIMBA",MIDI_XYLOPHONE:"XYLOPHONE",MIDI_TUBULARBELL:"TUBULAR BELL",MIDI_DULCIMER:"DULCIMER",MIDI_VIBRAPHONE:"VIBRAPHONE",MIDI_ORGAN:"DRAWBAR ORGAN",MIDI_ACOUSTIC_GUITAR:"ACOUSTIC GUITAR",MIDI_ELECTRIC_GUITAR:"ELECTRIC GUITAR",MIDI_ACOUSTIC_BASS:"ACOUSTIC BASS",MIDI_STRING_ENSEMBLE:"STRING ENSEMBLE",MIDI_VIOLIN:"VIOLIN",MIDI_TRUMPET:"TRUMPET",MIDI_SAX:"SAX",MIDI_STEEL_DRUMS:"STEEL DRUMS",MIDI_LEAD:"LEAD",MIDI_PAD:"PAD",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL:"",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0:"Set MIDI instrument as %1",MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP:"",MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL:"",MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0:"MIDI %1 tone %2",MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0:"Set matrix`s brightness level as %1",MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP:"brightness level:0~15",MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0:"Set matrix %1",MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_BITMAP_MESSAGE0:"Set matrix %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 %22 %23 %24 %25 %26 %27 %28 %29 %30 %31 %32 %33 %34 %35 %36 %37 %38 %39 %40 %41 %42 %43 %44 %45 %46 %47 %48 %49 %50 %51 %52 %53 %54 %55 %56 %57 %58 %59 %60 %61 %62 %63 %64 %65 %66 %67 %68 %69 %70 %71 %72",MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP:"",MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL:"",MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0:"The setting of matrix takes effect",MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP:"",MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0:"Set MP3 volume as %1",MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP:"volume:0~30",MPYTHON_BLUEBIT_MP3_INIT_HELPURL:"",MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0:"Init MP3 TX pin %1",MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP:"The tx pin of the mPython board is connected to the RXI pin of the music module",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL:"",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0:"MP3 volume %1",MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP:"",MPYTHON_PLUS_1:"plus 1",MPYTHON_MINUS_1:"minus 1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL:"",MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0:"Mp3 plays song with order %1",MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP:"",PAUSE:"PAUSE",PLAY:"GO ON",PLAYNEXT:"NEXT SONG",PLAYPREV:"LAST SONG",MPYTHON_BLUEBIT_MP3_CMD_HELPURL:"",MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0:"MP3 play %1",MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP:"",LABPLUS_USB_SWITCH_ON:"ON",LABPLUS_USB_SWITCH_OFF:"OFF",MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL:"",MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0:"MP3 single-loop mode %1",MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP:"IO: 0~7",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT:"OUTPUT",LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT:"INPUT",MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0:"Value of EXT IO at IO %1",MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL:"",MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0:"Set EXT IO module`s IO %2 as %1",MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP:"",MPYTHON_LCD_OBJECT_HELPURL:"",MPYTHON_LCD_OBJECT_MESSAGE0:"initialise LCD1602",MPYTHON_LCD_OBJECT_TOOLTIP:"",MPYTHON_LCD_PRINT_HELPURL:"",MPYTHON_LCD_PRINT_MESSAGE0:"LCD1602 display %1",MPYTHON_LCD_PRINT_TOOLTIP:"",MPYTHON_LCD_HOME_HELPURL:"",MPYTHON_LCD_HOME_MESSAGE0:"LCD1602 cursor returns to the origin",MPYTHON_LCD_HOME_TOOLTIP:"",MPYTHON_LCD_CURSOR_HELPURL:"",MPYTHON_LCD_CURSOR_MESSAGE0:"LCD1602 cursor %1",MPYTHON_LCD_CURSOR_TOOLTIP:"",MPYTHON_LCD_SET_CURSOR_HELPURL:"",MPYTHON_LCD_SET_CURSOR_MESSAGE0:"LCD1602 starts with row %2 column %1",MPYTHON_LCD_SET_CURSOR_TOOLTIP:"Row and column count from 0",MPYTHON_LCD_CLEAR_HELPURL:"",MPYTHON_LCD_CLEAR_MESSAGE0:"LCD1602 clear",MPYTHON_LCD_CLEAR_TOOLTIP:"",MPYTHON_LCD_CURSOR_BLINK:"BLINK",MPYTHON_LCD_CURSOR_NO_BLINK:"NO BLINK",MPYTHON_LEFT_TO_RIGHT:"LEFT TO RIGHT",MPYTHON_RIGHT_TO_LEFT:"RIGHT TO LEFT",MPYTHON_LCD_TEXT_DIRECTION_HELPURL:"",MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0:"LCD1602 text direction %1",MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP:"",MPYTHON_LCD_MOVE_HELPURL:"",MPYTHON_LCD_MOVE_MESSAGE0:"LCD1602 scrolls a column to %1",MPYTHON_LCD_MOVE_TOOLTIP:"",MPYTHON_IR_TRANS_HELPURL:"",MPYTHON_IR_TRANS_MESSAGE0:"infrared transmission of string with one byte length %1 tx pin %2",MPYTHON_IR_TRANS_TOOLTIP:"string with one byte length: 'A', 'b', '1' and so on",OUTPUT_PIN_HELPURL:"",OUTPUT_PIN_MESSAGE0:"%1",OUTPUT_PIN_TOOLTIP:"",INPUT_PIN_HELPURL:"",INPUT_PIN_MESSAGE0:"%1",INPUT_PIN_TOOLTIP:"",READ_ANALOG_PIN_HELPURL:"",READ_ANALOG_PIN_MESSAGE0:"%1",READ_ANALOG_PIN_TOOLTIP:"",SET_DIGITAL_HELPURL:"",SET_DIGITAL_MESSAGE0:"%1",SET_DIGITAL_TOOLTIP:"",SET_ANALOG_HELPURL:"",SET_ANALOG_MESSAGE0:"%1",SET_ANALOG_TOOLTIP:"",ALL_PIN_HELPURL:"",ALL_PIN_MESSAGE0:"%1",ALL_PIN_TOOLTIP:"",PWM_PIN_HELPURL:"",PWM_PIN_MESSAGE0:"%1",PWM_PIN_TOOLTIP:"",DH11_HUM_TEM_PIN_HELPURL:"",DH11_HUM_TEM_PIN_MESSAGE0:"%1",DH11_HUM_TEM_PIN_TOOLTIP:"",UART_TX_PIN_HELPURL:"",UART_TX_PIN_MESSAGE0:"%1",UART_TX_PIN_TOOLTIP:"",UART_RX_PIN_HELPURL:"",UART_RX_PIN_MESSAGE0:"%1",UART_RX_PIN_TOOLTIP:"",I2C_PIN_HELPURL:"",I2C_PIN_MESSAGE0:"%1",I2C_PIN_TOOLTIP:"",MQTT_COMMON_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_COMMON_SETUP_MESSAGE0:"MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",MQTT_COMMON_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUP_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUP_TOOLTIP:"",MQTT_TENCENT_SETUPS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",MQTT_TENCENT_SETUPS_MESSAGE0:"MQTT Tencent IoT %1 Server %2 Port %3 AppId %4 Device %5 -- Output -- %6 ReportTopic %7 ControlTopic %8",MQTT_TENCENT_SETUPS_TOOLTIP:"",MQTT_SETUP_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_SETUP_MESSAGE0:"MQTT-Easy IoT %1 Server %2 Client ID %5 Iot_id %3 Iot_pwd %4",MQTT_SETUP_TOOLTIP:"",MQTT_CONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_CONNECT_MESSAGE0:"connect to MQTT",MQTT_CONNECT_TOOLTIP:"",MQTT_PUBLISH_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_PUBLISH_MESSAGE0:"publish %1 to topic %2",MQTT_PUBLISH_TOOLTIP:"",MQTT_REC_FROM_TOPIC_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_REC_FROM_TOPIC_MESSAGE0:"when recieved %2 from topic %1",MQTT_REC_FROM_TOPIC_TOOLTIP:"",MQTT_RECEIVE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_RECEIVE_MESSAGE0:"when recieved %2 from topic %1",MQTT_RECEIVE_TOOLTIP:'Parameter "topic" only accepts variable',MQTT_RECEIVED_MESSAGE0:"when recieved message from topic %1",MQTT_MESSAGE_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_MESSAGE_MESSAGE0:"message from MQTT",MQTT_MESSAGE_TOOLTIP:"",MQTT_WAIT_MSG_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_WAIT_MSG_MESSAGE0:"wait for topic message in %1 mode",MQTT_WAIT_MSG_TOOLTIP:"It is recommended to run in 'while True'",MQTT_DISCONNECT_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",MQTT_DISCONNECT_MESSAGE0:"disconnect from MQTT",MQTT_DISCONNECT_TOOLTIP:"",MQTT_LAST_WILL_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",MQTT_LAST_WILL_MESSAGE0:"set MQTT topic %2 last will message as %1",MQTT_LAST_WILL_TOOLTIP:'Set the MQTT "last will" message. Should be called before connect().',MPYTHON_SIOT_CONNECT_HELPURL:"",MPYTHON_SIOT_CONNECT_TOOLTIP:"",MPYTHON_SIOT_CONNECT_MESSAGE0:"SIoT setting %1 client_id %2 server %3 user %4 password %5",MPYTHON_SIOT_ISCONNECTED_HELPURL:"",MPYTHON_SIOT_ISCONNECTED_TOOLTIP:"",MPYTHON_SIOT_ISCONNECTED_MESSAGE0:"SIoT is connected ?",MPYTHON_SIOT_SUBSCRIBE_HELPURL:"",MPYTHON_SIOT_SUBSCRIBE_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_MESSAGE0:"SIoT subscribe",MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE:"click the left star to subscribe SIoT topic",MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH:"subscribe SIoT Topic1",MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE:"Topic",MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP:"",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD:"add up to 5 topics",MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_HELPURL:"",MPYTHON_SIOT_DISCONNECT_TOOLTIP:"",MPYTHON_SIOT_DISCONNECT_MESSAGE0:"SIoT disconnect",MPYTHON_SIOT_MESSAGE_HELPURL:"",MPYTHON_SIOT_MESSAGE_TOOLTIP:"",MPYTHON_SIOT_MESSAGE_MESSAGE0:"SIoT message",MPYTHON_SIOT_TOPIC1:"Topic1",MPYTHON_SIOT_TOPIC2:"Topic2",MPYTHON_SIOT_TOPIC3:"Topic3",MPYTHON_SIOT_TOPIC4:"Topic4",MPYTHON_SIOT_TOPIC5:"Topic5",MPYTHON_SIOT_PUBLISH_HELPURL:"",MPYTHON_SIOT_PUBLISH_TOOLTIP:"",MPYTHON_SIOT_PUBLISH_MESSAGE0:"SIoT publish message %1 to %2",MPYTHON_SIOT_PUBLISH_TO_MESSAGE0:"SIoT publish message %1 to topic %2",MPYTHON_SIOT_RECEIVE_HELPURL:"",MPYTHON_SIOT_RECEIVE_TOOLTIP:"",MPYTHON_SIOT_RECEIVE_MESSAGE0:"when SIoT received message from %1 %2 do %3",MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0:"when SIoT received message from topic %1 %2 do %3",MPYTHON_IR_RECV_HELPURL:"",MPYTHON_IR_RECV_MESSAGE0:"infrared received int at rx pin %1",MPYTHON_IR_RECV_TOOLTIP:"The first time the receive is always empty",MPYTHON_BLUEBIT_OLED_PRINT_HELPURL:"",MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0:"bluebit OLED show %1 at x %2 y %3",MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_INIT_HELPURL:"",MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0:"bluebit OLED init at tx %1 rx %2",MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0:"bluebit OLED clear",MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP:"",MPYTHON_BLUEBIT_OLED_BMP_HELPURL:"",MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0:"bluebit OLED show image x %1 y %2 width %3 height %4 with hex image data %5",MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP:"",MICROBIT_GESTURE_SHAKE:"shake",MICROBIT_GESTURE_UP:"up",MICROBIT_GESTURE_DOWN:"down",MICROBIT_GESTURE_LEFT:"left",MICROBIT_GESTURE_RIGHT:"Right",MICROBIT_GESTURE_FACE_UP:"upward",MICROBIT_GESTURE_FACE_DOWN:"down",MICROBIT_GESTURE_FREEFAIL:"free fall",MICROBIT_IMAGE_HEART:"heart",MICROBIT_IMAGE_HEART_SMALL:"heart (small)",MICROBIT_IMAGE_HAPPY:"Happy",MICROBIT_IMAGE_SMILE:"Smile Face",MICROBIT_IMAGE_SAD:"sad",MICROBIT_IMAGE_CONFUSED:"confusion",MICROBIT_IMAGE_ANGRY:"angry",MICROBIT_IMAGE_ASLEEP:"Sleep",MICROBIT_IMAGE_SUPRISED:"surprise",MICROBIT_IMAGE_SILLY:"Stupid",MICROBIT_IMAGE_FABULOUS:"Wonderful",MICROBIT_IMAGE_MEH:"Boredom",MICROBIT_IMAGE_YES:"Yes",MICROBIT_IMAGE_NO:"No",MICROBIT_IMAGE_CLOCK12:"12 clock",MICROBIT_IMAGE_CLOCK11:"11 clock",MICROBIT_IMAGE_CLOCK10:"10 clock",MICROBIT_IMAGE_CLOCK9:"9 clock",MICROBIT_IMAGE_CLOCK8:"8 clock",MICROBIT_IMAGE_CLOCK7:"7 clock",MICROBIT_IMAGE_CLOCK6:"6 clock",MICROBIT_IMAGE_CLOCK5:"5 clock",MICROBIT_IMAGE_CLOCK4:"4 clock",MICROBIT_IMAGE_CLOCK3:"3 clock",MICROBIT_IMAGE_CLOCK2:"2 clock",MICROBIT_IMAGE_CLOCK1:"1 clock",MICROBIT_IMAGE_ARROW_N:"Arrow-North",MICROBIT_IMAGE_ARROW_NE:"Arrow-Northeast",MICROBIT_IMAGE_ARROW_E:"arrow-east",MICROBIT_IMAGE_ARROW_SE:"arrow-southeast",MICROBIT_IMAGE_ARROW_S:"Arrow-South",MICROBIT_IMAGE_ARROW_SW:"arrow-southwest",MICROBIT_IMAGE_ARROW_W:"Arrow-West",MICROBIT_IMAGE_ARROW_NW:"Arrow-Northwest",MICROBIT_IMAGE_TRIANGLE:"triangle",MICROBIT_IMAGE_TRIANGLE_LEFT:"left triangle",MICROBIT_IMAGE_CHESSBOARD:"chessboard",MICROBIT_IMAGE_DIAMOND:"diamond",MICROBIT_IMAGE_DIAMOND_SMALL:"diamond (small)",MICROBIT_IMAGE_SQUARE:"square",MICROBIT_IMAGE_SQUARE_SMALL:"Square (small)",MICROBIT_IMAGE_RABBIT:"Rabbit",MICROBIT_IMAGE_COW:"cow",MICROBIT_IMAGE_MUSIC_CROTCHET:"quarter note",MICROBIT_IMAGE_MUSIC_QUAVER:"octave",MICROBIT_IMAGE_MUSIC_QUAVERS:"tremolo",MICROBIT_IMAGE_PITCHFORK:"fork",MICROBIT_IMAGE_XMAS:"Christmas Tree",MICROBIT_IMAGE_PACMAN:"Bean Eater",MICROBIT_IMAGE_TARGET:"target",MICROBIT_IMAGE_TSHIRT:"T-shirt",MICROBIT_IMAGE_ROLLERSKATE:"Roller Skating",MICROBIT_IMAGE_DUCK:"duck",MICROBIT_IMAGE_HOUSE:"House",MICROBIT_IMAGE_TORTOISE:"tortoise",MICROBIT_IMAGE_BUTTERFLY:"Butterfly",MICROBIT_IMAGE_STICKFIGURE:"line drawing",MICROBIT_IMAGE_GHOST:"Ghost",MICROBIT_IMAGE_SWORD:"Sword",MICROBIT_IMAGE_GIRAFFE:"Giraffe",MICROBIT_IMAGE_SKULL:"Head",MICROBIT_IMAGE_UMBRELLA:"umbrella",MICROBIT_IMAGE_SNAKE:"snake",MICROBIT_IMAGE_ALL_CLOCKS:"All Clocks",MICROBIT_IMAGE_ALL_ARROWS:"All arrows",mpython_bme280_hum_tem_pre_MESSAGE0:("Meteorological %1","%1"),mpython_bme280_hum_tem_pre_TOOLTIP:("%","Air pressure unit is 'Pa', temperature unit is 'Celsius', ambient humidity unit is '%'"),mpythonbox_sound_MESSAGE0:"Sound value",mpythonbox_sound_TOOLTIP:"0~4095。",mpythonbox_sound_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",MPYTHONBOX_SLIDER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_SLIDER_MESSAGE0:"Slide bar",MPYTHONBOX_SLIDER_TOOLTIP:"0~4095。",MPYTHONBOX_5BUTTON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_5BUTTON_MESSAGE0:"Five way button%1",MPYTHONBOX_5BUTTON_TOOLTIP:"",MPYTHONBOX_MOTOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",MPYTHONBOX_MOTOR_MESSAGE0:"Motor speed%1",MPYTHONBOX_MOTOR_TOOLTIP:"",MPYTHONBOX_ULTRASONIC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_ULTRASONIC_MESSAGE0:"Ultrasonic",MPYTHONBOX_ULTRASONIC_TOOLTIP:"3~340CM",MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0:"Human body infrared",MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP:"",MPYTHONBOX_RGB_pixel_HELPURL:"",MPYTHONBOX_RGB_pixel_MESSAGE0:"Set column%1 line%2 R%3 G%4 B%5",MPYTHONBOX_RGB_pixel_TOOLTIP:"",MPYTHONBOX_RGB_get_pixel_HELPURL:"",MPYTHONBOX_RGB_get_pixel_MESSAGE0:"Returns the RGB color of column%1, line%2",MPYTHONBOX_RGB_get_pixel_TOOLTIP:"",MPYTHONBOX_RGB_ImageText_HELPURL:"",MPYTHONBOX_RGB_ImageText_MESSAGE0:"Scroll Display Text%1 Speed%2",MPYTHONBOX_RGB_ImageText_TOOLTIP:"",MPYTHONBOX_RGB_SetImage_HELPURL:("",""),MPYTHONBOX_RGB_SetImage_TOOLTIP:("",""),MPYTHONBOX_RGB_SetImage_MESSAGE0:("Create image %1 row1 %2 row2 %3 row3 %4 row4 %5 row5 %6","Create an image %1 The first line%2, the second line%3, the third line%4, the fourth line%5, the fifth line%6"),MPYTHONBOX_RGB_Image_HELPURL:"",MPYTHONBOX_RGB_Image_MESSAGE0:"According to the image%1",MPYTHONBOX_RGB_Image_TOOLTIP:"According to the image",MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0:"Display image/text %1",MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP:"",MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0:"Display image %1",MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP:"Display image。",MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL:"",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0:"Copy image %1",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP:"Copy image",MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL:"",MPYTHONBOX_RGB_ImageCot_HELPURL:"",MPYTHONBOX_RGB_ImageCot_MESSAGE0:"Cut image%1 column%2 rows%3 width%4 high%5",MPYTHONBOX_RGB_ImageCot_TOOLTIP:"Cut image",MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0:"Built in image %1",MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP:"Select a built-in image.",MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL:"",MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0:"Translation image %1 %2 %3 ",MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP:"Move the image in a specific direction and return the result of the move.",MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL:"",MPYTHONBOX_RGB_clear_HELPURL:"",MPYTHONBOX_RGB_clear_MESSAGE0:"Turn off all RGB",MPYTHONBOX_RGB_clear_TOOLTIP:"",MPYTHONBOX_RGB_pixel_return_HELPURL:"",MPYTHONBOX_RGB_pixel_return_MESSAGE0:"Return %1 column %2 line colour",MPYTHONBOX_RGB_pixel_return_TOOLTIP:"Return to the number of columns, row RGB color",MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0:"%1Triaxial acceleration",MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP:"Unit g, range-2~+2g。",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0:"%1Triaxial angular velocity",MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP:"range±500°/seconds",MPYTHONBOX_EULER_ANGLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_EULER_ANGLE_MESSAGE0:"%1Euler Angle",MPYTHONBOX_EULER_ANGLE_TOOLTIP:"Returns the current euler Angle(Pitch,Roll,Yaw),Unit Angle",MPYTHONBOX_QUATERNION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",MPYTHONBOX_QUATERNION_MESSAGE0:"%1quaternions",MPYTHONBOX_QUATERNION_TOOLTIP:"Returns the current quaternion(w,x,y,z)",MPYTHONBOX_CAMERA_LED_HELPURL:"",MPYTHONBOX_CAMERA_LED_MESSAGE0:"camear light %1",MPYTHONBOX_CAMERA_LED_TOOLTIP:"",LIST_FIRST_INDEX_HELPURL:"",LIST_FIRST_INDEX_MESSAGE0:"Location of item%1 in list%2 %3",LIST_FIRST_INDEX_TOOLTIP:"",MPYTHON_AI_LCD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.init",MPYTHON_AI_LCD_INIT_MESSAGE0:"Screen Initialization ",MPYTHON_AI_LCD_INIT_TOOLTIP:"",MPYTHON_AI_SENSOR_RESET_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%8D%95%E7%9B%AE%E6%91%84%E5%83%8F%E5%A4%B4%E9%87%8D%E7%BD%AE%E5%87%BD%E6%95%B0",MPYTHON_AI_SENSOR_RESET_MESSAGE0:"Initialize the camera",MPYTHON_AI_SENSOR_RESET_TOOLTIP:"",MPYTHON_AI_SENSOR_ENABLE_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_ENABLE_MESSAGE0:"Camera%1",MPYTHON_AI_SENSOR_ENABLE_TOOLTIP:"",MPYTHON_AI_LCD_TEXT_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#%E4%BE%8B%E7%A8%8B-1%EF%BC%9A-%E6%98%BE%E7%A4%BA%E8%8B%B1%E6%96%87",MPYTHON_AI_LCD_TEXT_MESSAGE0:"Display text x %1 y %2 content %3",MPYTHON_AI_LCD_TEXT_TOOLTIP:"",MPYTHON_AI_SENSOR_SKIP_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",MPYTHON_AI_SENSOR_SKIP_MESSAGE0:"The number of frames skipped by the camera %1 Millisecond %2 ",MPYTHON_AI_SENSOR_SKIP_TOOLTIP:"",MPYTHON_AI_SENSOR_RETURN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%BD%E5%BA%A6",MPYTHON_AI_SENSOR_RETURN_MESSAGE0:"测 摄像头 获取%1",MPYTHON_AI_SENSOR_RETURN_TOOLTIP:"",MPYTHON_AI_SENSOR_SETS_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E5%AF%B9%E6%AF%94%E5%BA%A6",MPYTHON_AI_SENSOR_SETS_MESSAGE0:"Camera set %1 as %2",MPYTHON_AI_SENSOR_SETS_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_GAIN_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0:"Automatic gain of camera%1",MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP:"",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%8A%A8%E5%A2%9E%E7%9B%8A",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0:"Camera White Balance%1",MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP:"",MPYTHON_AI_SENSOR_LEVEL_MI_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%AE%BE%E7%BD%AE%E6%B0%B4%E5%B9%B3%E9%95%9C%E5%83%8F",MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0:"Camera %1 %2",MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_MESSAGE0:"Screen display takes effect",MPYTHON_AI_LCD_DISPLAY_TOOLTIP:"",MPYTHON_AI_LCD_DISPLAY_SIZE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0:"Image display takes effect x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP:"",MPYTHON_AI_SENSOR_IMAGES_HELPURL:"https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F",MPYTHON_AI_SENSOR_IMAGES_MESSAGE0:"Camera captures images",MPYTHON_AI_SENSOR_IMAGES_TOOLTIP:"",MPYTHON_AI_IMAGE_FACEDETECT_HELPURL:"https://maixpy.sipeed.com/zh/libs/Maix/kpu.html#%E8%BF%90%E8%A1%8Cyolo2%E7%BD%91%E7%BB%9C",MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0:"Face recognition",MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_REC_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_REC_MESSAGE0:"Rectangular%1 x%3 y%4 width%5 high%6 color R%7 G%8 B%9 coarsening%2",MPYTHON_AI_LCD_SHOW_REC_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0:"line x1%1 y1%2 reachx2%3 y2%4 Color isR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0:"Clear screen display",MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP:"",MPYTHON_AI_LCD_CLEAR_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_return_colour_MESSAGE0:"LCD Return x%1 y%2 colour",MPYTHON_AI_LCD_return_colour_TOOLTIP:"",MPYTHON_AI_LCD_return_colour_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0:"circular%1 x%2 y%3 radius%4 colour R%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_CIRCLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0:"Display text x %1 y %2 content %3 colourR%4 G%5 B%6 size%7",MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0:"Cross line x%1 y%2 colourR%3 G%4 B%5 size%6 Thickening%7",MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_TEN_STRING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0:"Arrow x1%1 y1%2 x2%3 y2%4 colourR%5 G%6 B%7 Thickening%8",MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ARROWS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.draw_rectangle",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_HELPURL:".https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.display",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0:"Display image path%1",MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.invert",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0:"Image conversion to%1",MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.linpolar",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0:"Image from Cartesian coordinates to%1 Reprojection of coordinates %2",MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.dilate",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0:"Image Expansion Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.midpoint",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0:"Image Point Filtering Level%1 Wave filtering%2",MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.modehttps://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mode",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0:"Image Modal Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.mean",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0:"Image Fuzzy Filtering Level%1",MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.cartoon",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0:"Image Cartoonization Level%1 Initial Pixel Difference%2 Adjacent pixel difference%3",MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_IMAGE_3D_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.rotation_corr",MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0:"Image 3D Rotation Up and Down%1 Rotate left and right%2 degrees%3 or so move%4 up and down move%5 zoom%6",MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.copy",MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0:"Save a copy of the image to the SD card image name%1 Image display area x%2 y%3 wide%4 high%5",MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP:"",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.save",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0:"Create a copy of the image object to copy the image area x%1 y%2 wide%3 high%4",MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP:"",MPYTHON_AI2_20CLASS_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20CLASS_TRACKING_MESSAGE0:"20 kinds of recognition",MPYTHON_AI2_20CLASS_TRACKING_TOOLTIP:"",MPYTHON_AI2_NUMBER_DISCERN_HELPURL:("https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model","https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model"),MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0:("Handwritten Number Recognition",'set the training model to "Number ID"'),MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP:("","Select training model handwritten numerals"),MPYTHON_AI_LCD_PIXEL_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html?highlight=get_pixel#mpython_classroom_kit.image.set_pixel",MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0:"screen x%1 y%2 Display color R%3 G%4 B%5",MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP:"",MPYTHON_AI_LCD_COLOUR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.lcd.clear",MPYTHON_AI_LCD_COLOUR_MESSAGE0:"Screen Initialization Display Color R%1 G%2 B%3",MPYTHON_AI_LCD_COLOUR_TOOLTIP:"",MPYTHON_AI_SENSOR_PATTERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.camera.set_pixformat",MPYTHON_AI_SENSOR_PATTERN_MESSAGE0:"Initialize the camera, set pixel mode as %1",MPYTHON_AI_SENSOR_PATTERN_TOOLTIP:"",MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL:("",""),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0:("Tracking color display%1","Trace color display%1"),MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP:("",""),MPYTHON_AI2_FACE_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_FACE_TRACKING_MESSAGE0:'set the training model to "Face ID"',MPYTHON_AI2_FACE_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_PHOTOGRAPH_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0:'call the camera for "Face ID"',MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP:"It can recognize and track faces, display face size and so on",MPYTHON_AI2_RESULT_FACE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_MESSAGE0:'get the recognition result of "Face ID"',MPYTHON_AI2_RESULT_FACE_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_FACE_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_X_MESSAGE0:'get the X coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_FACE_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0:'get the Y coordinate of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_FACE_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_W_MESSAGE0:'get the width of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_FACE_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_H_MESSAGE0:'get the height of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_FACE_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0:'get the confidence of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_FACE_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0:'get the object count of the "Face ID" result',MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_20class_TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_20class_TRACKING_MESSAGE0:'set the training model to "20 Class ID"',MPYTHON_AI2_20class_TRACKING_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0:'call the camera for "20 Class ID"',MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP:"",MPYTHON_AI2_RESULT_20CLASS_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_MESSAGE0:'get the recognition result of "20 Class ID"',MPYTHON_AI2_RESULT_20CLASS_TOOLTIP:"After acquisition and identification All the parameters",MPYTHON_AI2_RESULT_20CLASS_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0:'get the X coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP:"After acquisition and identification x coordinates",MPYTHON_AI2_RESULT_20CLASS_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0:'get the Y coordinate of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP:"After acquisition and identification y coordinates",MPYTHON_AI2_RESULT_20CLASS_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0:'get the width of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP:"After acquisition and identification width",MPYTHON_AI2_RESULT_20CLASS_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0:'get the height of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP:"After acquisition and identification height",MPYTHON_AI2_RESULT_20CLASS_VALUE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0:'get the confidence of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP:"After acquisition and identification Confidence",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0:'get the object count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP:"After acquisition and identification number",MPYTHON_AI2_RESULT_20CLASS_CLASSID_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0:'get the type name of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP:"Can identify 20 types, respectively are 0-19 for aircraft, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, house, motorcycle, person, potted plant, sheep, sofa, train, TV",MPYTHON_AI2_RESULT_20CLASS_INDEX_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0:'get the type count of the "20 Class ID" result',MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP:"After acquisition and identification type number",MPYTHON_AI2_RESULT_NUMBER_DISCERN_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.model.select_model",MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0:'call the camera for "Number ID"',MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP:"Call camera identification",MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0:'get the recognition result of "Number ID"',MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP:"Handwritten digit recognition parameters",MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0:'get the digital of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP:"Handwritten digits recognize Numbers",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0:'get the confidence of the "Number ID" result',MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP:"Handwritten digit recognition digital confidence",MPYTHON_AI_TRACE_COLOR_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#mpython_classroom_kit.image.find_blobs",MPYTHON_AI_TRACE_COLOR_MESSAGE0:"Trace color block LAB color %1 bounding box less than %2 pixels less than %3 filter",MPYTHON_AI_TRACE_COLOR_TOOLTIP:"Track the color piece",MPYTHON_AI_BLOB_ALL_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ALL_MESSAGE0:"%1Color piece block all parameters",MPYTHON_AI_BLOB_ALL_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_X_MESSAGE0:"%1Color piece x coordinates",MPYTHON_AI_BLOB_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_Y_MESSAGE0:"%1Color piece y coordinates",MPYTHON_AI_BLOB_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_W_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_W_MESSAGE0:"%1Color piece width",MPYTHON_AI_BLOB_W_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_H_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_H_MESSAGE0:"%1Color piece height",MPYTHON_AI_BLOB_H_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_NUMBER_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_NUMBER_MESSAGE0:"%1Color piece number",MPYTHON_AI_BLOB_NUMBER_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_X_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_X_MESSAGE0:"%1Color piece center x coordinates",MPYTHON_AI_BLOB_CENTER_X_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_CENTER_Y_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0:"%1Color piece center y coordinates",MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_AI_BLOB_ORTHOGON_HELPURL:"https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0:"%1Color piece rectangular",MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP:"Returns blob class -- a color block object",MPYTHON_DRILL_WEIGHT_MESSAGE0:"Initialize training%1",MPYTHON_DRILL_WEIGHT_TOOLTIP:"",MPYTHON_DRILL_WEIGHT_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL:"",MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0:"Instantiate the linear regression line",MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP:"",MPYTHON_DRILL_TITLE_HELPURL:"",MPYTHON_DRILL_TITLE_MESSAGE0:" title%1 size%2",MPYTHON_DRILL_TITLE_TOOLTIP:"",MPYTHON_DRILL_LABEL_HELPURL:"",MPYTHON_DRILL_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHON_DRILL_LABEL_TOOLTIP:"",MPYTHON_DRILL_DRILL_REALITY_HELPURL:"",MPYTHON_DRILL_DRILL_REALITY_MESSAGE0:"Real data lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_DRILL_REALITY_TOOLTIP:"",MPYTHON_DRILL_PREDICTED_REALITY_HELPURL:"",MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0:"Predict linear regression lines Sign marks%1 The color of r%2 g%3 b%4 title%5",MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP:"",MPYTHON_DRILL_LEGEND_HELPURL:"",MPYTHON_DRILL_LEGEND_MESSAGE0:"Show legend",MPYTHON_DRILL_LEGEND_TOOLTIP:"",MPYTHON_DRILL_SHOW_HELPURL:"",MPYTHON_DRILL_SHOW_MESSAGE0:"Display images",MPYTHON_DRILL_SHOW_TOOLTIP:"",MPYTHON_DRILL_DRILL_PRINT_HELPURL:"",MPYTHON_DRILL_DRILL_PRINT_MESSAGE0:"Returns the corresponding key value%1",MPYTHON_DRILL_DRILL_PRINT_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0:"Initialize Iris dataset",MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0:"flower-de-luce Principal component analysis",MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0:"flower-de-luce Factor analysis 3D",MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0:"flower-de-luce Factor analysis",MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0:"Predicting graphic flower-de-luce type%1 Render content x%3 y%4 Present species%2 color r%5 g%6 b%7 title%8 upward merge%9",MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0:"Predicting graphic Render content x%1 y%2 Present species%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0:"3D Predicting graphic Render content x%1 y%2 z%3 color r%4 g%5 b%6 title%7",MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0:" title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0:"label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0:"3D title%1 size%2",MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0:"3D label%1 title%2 size%3",MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0:"Show legend",MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0:"Display images",MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL:"",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0:"X and y coordinates of calyx and petals",MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP:"There are 150 records, representing 50 Iris-setosa, Iris-versicolor and Iris-virginica respectively",MPYTHONS_FLOWER_DE_LUCE_Iris_setosa:"Iris setosa",MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor:"Iris versicolor",MPYTHONS_FLOWER_DE_LUCE_Iris_virginica:"Iris virginica",MPYTHONS_FLOWER_DE_LUCE_scatter_diagram:"scatter diagram",MPYTHONS_FLOWER_DE_LUCE_kde_diagram:"kde diagram",MPYTHONS_FLOWER_DE_LUCE_box_diagram:"box diagram",MPYTHONS_FLOWER_DE_LUCE_merge:"merge",MPYTHONS_FLOWER_DE_LUCE_not_merge:"Don it merge",MPYTHONS_FLOWER_DE_LUCE_calyx_length:"calyx length",MPYTHONS_FLOWER_DE_LUCE_calyx_width:"calyx width",MPYTHONS_FLOWER_DE_LUCE_petal_length:"petal length",MPYTHONS_FLOWER_DE_LUCE_petal_width:"petal width",MPYTHON_DRILL_DRILL_full_line:"full line",MPYTHON_DRILL_DRILL_dash_line:"dash line",MPYTHON_DRILL_DRILL_chain_line:"chain line",MPYTHON_DRILL_DRILL_imaginary_line:"imaginary line",MPYTHON_DRILL_DRILL_dot:"dot",MPYTHON_DRILL_DRILL_pixel:"pixel",MPYTHON_DRILL_DRILL_solid_rim:"solid rim",MPYTHON_DRILL_DRILL_down_triangle:"down triangle",MPYTHON_DRILL_DRILL_up_triangle:"up triangle",MPYTHON_DRILL_DRILL_right_triangle:"right triangle",MPYTHON_DRILL_DRILL_left_triangle:"left triangle",MPYTHON_DRILL_DRILL_down_flower_triangle:"down flower triangle",MPYTHON_DRILL_DRILL_up_flower_triangle:"up flower triangle",MPYTHON_DRILL_DRILL_right_flower_triangle:"right flower triangle",MPYTHON_DRILL_DRILL_left_flower_triangle:"left flower triangle",MPYTHON_DRILL_DRILL_solid_square:"solid square",MPYTHON_DRILL_DRILL_solid_pentagon:"solid pentagon",MPYTHON_DRILL_DRILL_star:"star",MPYTHON_DRILL_DRILL_vertical_hexagon:"vertical hexagon",MPYTHON_DRILL_DRILL_across_hexagon:"across hexagon",MPYTHON_DRILL_DRILL_cross:"cross",MPYTHON_DRILL_DRILL_X:"X",MPYTHON_DRILL_DRILL_rhombus:"rhombus",MPYTHON_DRILL_DRILL_thin_rhombus:"thin rhombus",MPYTHON_DRILL_DRILL_vertical_line:"vertical line",MPYTHONS_CONVERT_PICTURE_HELPURL:" ",MPYTHONS_CONVERT_PICTURE_MESSAGE0:" convert image to 28 ^ 2 binary image %1 pending image storage path %2 processed image storage path %3 format %4",MPYTHONS_CONVERT_PICTURE_TOOLTIP:"control board passes WIF to voice assistant via serial port ",MPYTHONS_NUMBER_REPERTOIRE_HELPURL:" ",MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0:" find parse handwritten numeric data store path %1",MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP:"use handwritten number library ",MPYTHONS_SHOW_NUMBER_PATH_HELPURL:" ",MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0:" handwritten digital image storage path %1",MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP:"path of handwritten digital image ",MPYTHONS_SHOW_NUMBER_HELPURL:" ",MPYTHONS_SHOW_NUMBER_MESSAGE0:" display handwritten digital image ",MPYTHONS_SHOW_NUMBER_TOOLTIP:"display handwritten digital image ",MPYTHONS_NUMBER_RECOGNITION_HELPURL:" ",MPYTHONS_NUMBER_RECOGNITION_MESSAGE0:" identify handwritten digital image storage path %1",MPYTHONS_NUMBER_RECOGNITION_TOOLTIP:"path to recognize handwritten digital image ",MPYTHONS_NUMBER_PLACEHOLDER_HELPURL:" ",MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0:" create variable %1 initialize neural network tensor variable name %2",MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_MESSAGE0:"create variable %1 and convert the input photo variable %2 into neural network output tensor %3",MPYTHON_DRILL_RESHAPE_TOOLTIP:" ",MPYTHON_DRILL_RESHAPE_HELPURL:" ",MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0:"create variable %1 Shared variable name %2 initialization mode %3",MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP:" ",MPYTHON_NUMBER_CONV_WEIGHT_HELPURL:" ",MPYTHON_NUMBER_INITIALIZER_MESSAGE0:"produce truncated normal distribution random number output tensor %1 standard deviation %2",MPYTHON_NUMBER_INITIALIZER_TOOLTIP:" ",MPYTHON_NUMBER_INITIALIZER_HELPURL:" ",MPYTHON_NUMBER_CONSTANT_MESSAGE0:"create constant value %1 output tensor %2",MPYTHON_NUMBER_CONSTANT_TOOLTIP:" ",MPYTHON_NUMBER_CONSTANT_HELPURL:" ",MPYTHON_NUMBER_CONV2D_MESSAGE0:"neural network output tensor %1 Shared variable %2 step size %3 fill %4",MPYTHON_NUMBER_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV2D_HELPURL:" ",MPYTHON_NUMBER_CONV_BIASES_MESSAGE0:"tensor %1",MPYTHON_NUMBER_CONV_BIASES_TOOLTIP:" ",MPYTHON_NUMBER_CONV_BIASES_HELPURL:" ",MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0:"convolution two-dimensional variable %1 %2",MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP:" ",MPYTHON_NUMBER_CONV_CONV2D_HELPURL:" ",MPYTHON_NUMBER_RELU_MESSAGE0:"create variable %1 Relu forward drive function convolution 2d layer %2",MPYTHON_NUMBER_RELU_TOOLTIP:" ",MPYTHON_NUMBER_RELU_HELPURL:" ",MPYTHON_NUMBER_MAX_POOL_MESSAGE0:"pooling 2d layer variable %1 convolution layer %2 pooling window %3 step size %4 fill %5",MPYTHON_NUMBER_MAX_POOL_TOOLTIP:" ",MPYTHON_NUMBER_MAX_POOL_HELPURL:" ",MPYTHON_NUMBER_MATMUL_MESSAGE0:"the corresponding elements of the two parameters are multiplied x%1 y%2",MPYTHON_NUMBER_MATMUL_TOOLTIP:" ",MPYTHON_NUMBER_MATMUL_HELPURL:" ",MPYTHON_NUMBER_ADD_MESSAGE0:"full connection layer variable %1 add elements of two parameters x%2 y%3",MPYTHON_NUMBER_ADD_TOOLTIP:" ",MPYTHON_NUMBER_ADD_HELPURL:" ",MPYTHON_NUMBER_SOFTMAX_MESSAGE0:"create variable %1 prediction model accuracy variable name %2",MPYTHON_NUMBER_SOFTMAX_TOOLTIP:" ",MPYTHON_NUMBER_SOFTMAX_HELPURL:" ",MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0:"create variable %1 loss function %2",MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP:" ",MPYTHON_NUMBER_REDUCE_MEAN_HELPURL:" ",MPYTHON_NUMBER_LOG_MESSAGE0:"natural logarithm %1",MPYTHON_NUMBER_LOG_TOOLTIP:" ",MPYTHON_NUMBER_LOG_HELPURL:" ",MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0:"compress sum %1 dimension %2",MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP:"because the log function is monotonically increasing, logP(Y|X) will also reach its maximum value, so maximizing P(Y|X) after adding a negative sign in front is equivalent to minimizing L.",MPYTHON_NUMBER_REDUCE_SUM_HELPURL:"https://www.cnblogs.com/guoyaohua/p/9217206.html",MPYTHON_NUMBER_TRAIN_MESSAGE0:"optimize learning rate %1",MPYTHON_NUMBER_TRAIN_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_HELPURL:" ",MPYTHON_NUMBER_MINIMIZE_MESSAGE0:"create variable %1 optimize tensor %2",MPYTHON_NUMBER_MINIMIZE_TOOLTIP:" ",MPYTHON_NUMBER_MINIMIZE_HELPURL:" ",MPYTHON_NUMBER_INIT_MESSAGE0:"initialization model complete ",MPYTHON_NUMBER_INIT_TOOLTIP:" ",MPYTHON_NUMBER_INIT_HELPURL:" ",MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0:"select handwritten number set %1 number %2",MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP:" ",MPYTHON_NUMBER_TRAIN_TEST_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0:"start data stream graph session to compute session %1 picture %2 tag %3",MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN2_HELPURL:" ",MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0:"prediction model %1 fit %2 session %3",MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP:" ",MPYTHON_NUMBER_SESSION_RUN3_HELPURL:" ",MPYTHON_NUMBER_EQUAL_MESSAGE0:"Whether each dimension of two tensors is equalx%1 y%2",MPYTHON_NUMBER_EQUAL_TOOLTIP:"",MPYTHON_NUMBER_EQUAL_HELPURL:"",MPYTHON_NUMBER_ARGMAX_MESSAGE0:"tensor%1 %2Compare the index that returns the maximum value",MPYTHON_NUMBER_ARGMAX_TOOLTIP:"",MPYTHON_NUMBER_ARGMAX_HELPURL:"",MPYTHON_NUMBER_CAST_MESSAGE0:"Floating point %1",MPYTHON_NUMBER_CAST_TOOLTIP:"",MPYTHON_NUMBER_CAST_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_HELPURL:"",MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0:"Handwritten numeral recognition model variable name %1 store path%2",MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP:"MNIST Handwritten numeral recognition model Save the path",MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL:"",MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0:"Load model %1 store path%2",MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP:"Load model",MPYTHONS_NUMBER_SAME:"SAME",MPYTHONS_NUMBER_VALID:"VALID",MPYTHONS_NUMBER_train:"train",MPYTHONS_NUMBER_test:"test",MPYTHONS_NUMBER_row:"row",MPYTHONS_NUMBER_rank:"rank",MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0:"Call camera %1",MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP:"Call the built-in camera in the notebook, so the parameter is 0. If there are other cameras, the parameter can be adjusted to 1,2",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL:"",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0:"off the camera",MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0:"Delete all Windows",MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"Load model store path%1",MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0:"Read the picture from the camera",MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP:"Ret True if the image is read, otherwise false;The second parameter is frame, which is the image of the currently captured frame.",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0:"Grayscale image",MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0:"Each time the face is detected, the image size is reduced proportionally%1",MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL:"",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0:"Face area displays rectangular box color r%1 g%2 b%3",MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0:"Save the image location%1 ID%2 Serial number%3",MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0:"Window to display the image filename%1",MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0:"Exit via esc key",MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP:"Use only when the window is on top",MPYTHONS_FACE_RECOGNITIONR_HELPURL:"",MPYTHONS_FACE_RECOGNITIONR_MESSAGE0:"Gets the coordinate value of the face in the image face%1",MPYTHONS_FACE_RECOGNITIONR_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0:"If the image is read",MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL:"",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0:"Whether to turn on the camera",MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0:"Get photos and id Photo storage path%1",MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0:"Initialize Training model",MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0:"Start Training model",MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL:"",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0:"%1Training model store path%2",MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL:"",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0:"Face model training number",MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FONT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0:"Window display Recognized name%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL:"",MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0:"Window display Confidence of identification%1 Set font to%2 color r%3 g%4 b%5",MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL:"",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0:"Predict human face name%1 Degree of confidence%2",MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP:"",MPYTHONS_FACE_RECOGNITION_FORECAST_Write:"write",MPYTHONS_FACE_RECOGNITION_FORECAST_Read:"read",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0:"初始化 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0:"选择训练器 聊天机器人",MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP:"",MPYTHONS_DIALOGUE_ROBOT_START_HELPURL:"",MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0:"选择与%1 聊天",MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0:"自定义 语料库 %1[%2]",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0:"输入对话 获得响应 %1",MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0:"识别响应",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP:"",MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0:"选择跟 %1 聊天",MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP:"",Jenny:"珍妮",Jack:"杰克",Tom:"汤姆",MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL:"",MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0:"选择 %1 %2 模式%3 %4 喂养%5",MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL:"",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0:"查看训练库 选择%1",MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL:"",MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0:"生成随机数 %1",MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP:"",MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL:"",MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0:"显示窗口",MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP:"",MPYTHON_AGESTURE_IMSHOW_HELPURL:"",MPYTHON_AGESTURE_IMSHOW_MESSAGE0:"处理图像 %1",MPYTHON_AGESTURE_IMSHOW_TOOLTIP:"",MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL:"",MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0:"选择训练库 knn模型",MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_LOAD_MODEL_HELPURL:"",MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0:"载入knn模型 存储路径%1",MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL:"",MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0:"%1打开图片 存储路径%2 图片名%3",MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_MESSAGE0:"选择%1 构建特征数据%2",MPYTHON_AGESTURE_ARRAY_TOOLTIP:"",MPYTHON_AGESTURE_ARRAY_HELPURL:"",MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0:"打乱排序%1 ",MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP:"",MPYTHON_GESTURE_RANDOM_RANK_HELPURL:"",MPYTHON_GESTURE_READ_LEND_MESSAGE0:" %1 图片特征",MPYTHON_GESTURE_READ_LEND_TOOLTIP:"",MPYTHON_GESTURE_READ_LEND_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_HELPURL:"",MPYTHON_GESTURE_START_SRAIN_MESSAGE0:"开始训练 手势识别 期望%1 目标%2",MPYTHON_GESTURE_START_SRAIN_TOOLTIP:"",MPYTHON_GESTURE_SCORE_HELPURL:"",MPYTHON_GESTURE_SCORE_MESSAGE0:"进行评分 期望%1 目标%2",MPYTHON_GESTURE_SCORE_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 数组降维 图片总数%2",MPYTHON_GESTURE_FORECAST_HELPURL:"",MPYTHON_GESTURE_FORECAST_TOOLTIP:"",MPYTHON_GESTURE_FORECAST_MESSAGE0:"预测结果%1",MPYTHON_AGESTURE_SAVE_MODEL_HELPURL:"",MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0:"保存模型 存储路径%1",MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP:"",MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL:"",MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0:"%1图片 预测图片 ",MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP:"",MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0:"%1 彩色图像降维",MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL:"",MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0:"选择人脸库 图片存储路径%1",MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL:"",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0:"加载模型 存储路径%1",MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0:"第%1位人脸性别结果 置信度",MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0:"第%1位人脸情绪结果 置信度",MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0:"第%1位人脸性别 结果",MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0:"第%1位人脸情绪 结果",MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL:"",MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0:"选择人脸库 %1",MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0:"第%1位情绪为 %2",MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0:"第%1位性别为 %2",MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0:"人脸数量",MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0:"表情数量",MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL:"",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0:"人脸实时检测 %1",MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL:"",MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0:"显示图片",MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL:"",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0:"选择人脸%1 %2",MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL:"",MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0:"初始化 文章聚类",MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_TITLE_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0:"标题 第%1文章",MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_CONTENT_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0:"内容 第%1文章",MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP:"",MPYTHONS_WORD_CLOUD_JIEBA_HELPURL:"文章数量不超过100",MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0:"文章内容转为列表 第%1文章",MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL:"",MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0:"读取停词表%1",MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP:"返回的是100篇文章里的符号",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL:"",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0:"删除后的新闻",MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL:"",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0:"构造词云所用的数据",MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL:"",MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0:"计算总数 排序前%1",MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP:"返回的是100篇文章里的文本",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0:"文章聚类训练结果 保存为图片",MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL:"",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0:"显示图片",MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP:"",FIRST:"first",LAST:"last",MPYTHON_USOCKET_BLOCK:"block",MPYTHON_USOCKET_UNBLOCK:"unblock",MPYTHON_USOCKET_SETSOCKOPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0:"set socket %1 with af %2 and type %3",MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP:"Sets the value of a given socket option. The required symbolic constants are defined in the socket module (SO_*, etc.). This value can be an integer or a class byte object representing a buffer.",MPYTHON_USOCKET_READ_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",MPYTHON_USOCKET_READ_MESSAGE0:"read %2 bytes from socket %1 and returns a byte object",MPYTHON_USOCKET_READ_TOOLTIP:"if no number of read is given, run in a mode similar to socket.readall ()",MPYTHON_USOCKET_SETBLOCKING_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",MPYTHON_USOCKET_SETBLOCKING_MESSAGE0:"set socket %1 as %2 mode ",MPYTHON_USOCKET_SETBLOCKING_TOOLTIP:"",MPYTHON_USOCKET_SETTIMEOUT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0:"socket %1 sets timeout as %2 seconds",MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP:"",MPYTHON_USOCKET_SENDALL_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDALL_MESSAGE0:"Socket%1 sends%2 continuously and returns the number of bytes sent",MPYTHON_USOCKET_SENDALL_TOOLTIP:"Send all data to sockets. Sockets must be connected to remote sockets. Unlike send (), this method will attempt to send all data by sending blocks continuously.",MPYTHON_USOCKET_SENDS_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SENDS_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SENDS_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_USOCKET_SEND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",MPYTHON_USOCKET_SEND_MESSAGE0:"socket %1 send %2 and returns the number of bytes sent",MPYTHON_USOCKET_SEND_TOOLTIP:"Send data to the socket. The socket must be connected to a remote socket. Returns number of bytes sent, which may be smaller than the length of data (“short write”).",MPYTHON_LINE_BREAK_HELPURL:"",MPYTHON_LINE_BREAK_MESSAGE0:"Escape character %1",MPYTHON_LINE_BREAK_TOOLTIP:"Escape character",MPYTHON_USOCKET_SENDTO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",MPYTHON_USOCKET_SENDTO_MESSAGE0:"socket %1 send %2 to address %3",MPYTHON_USOCKET_SENDTO_TOOLTIP:"Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address.",MPYTHON_USOCKET_RECV_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",MPYTHON_USOCKET_RECV_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data object",MPYTHON_USOCKET_RECV_TOOLTIP:"",MPYTHON_TEXT_ESC_HELPURL:"",MPYTHON_TEXT_ESC_MESSAGE0:"text ESC %1",MPYTHON_TEXT_ESC_TOOLTIP:"text ESC",MPYTHON_USOCKET_RECVFROM_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",MPYTHON_USOCKET_RECVFROM_MESSAGE0:"socket %1 receives with maximum amount %2 and returns received data tuple",MPYTHON_USOCKET_RECVFROM_TOOLTIP:"Tuple format: (bytes, address)",MPYTHON_USOCKET_CONNECT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",MPYTHON_USOCKET_CONNECT_MESSAGE0:"socket %1 connect to host %2 with port %3",MPYTHON_USOCKET_CONNECT_TOOLTIP:"",MPYTHON_USOCKET_GETADDRINFO_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",MPYTHON_USOCKET_GETADDRINFO_MESSAGE0:"parse host %1 with port %2 and return ip",MPYTHON_USOCKET_GETADDRINFO_TOOLTIP:"Internet required",MPYTHON_USOCKET_ACCEPT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",MPYTHON_USOCKET_ACCEPT_MESSAGE0:"socket %1 receive connection request and return socket tuple",MPYTHON_USOCKET_ACCEPT_TOOLTIP:"Receive connection request.Socket needs to specify an address and listen to the connection.The return value is (conn, address)\nconn: A new socket object that can be used to send and receive message\naddress: Client address connected to the server",MPYTHON_USOCKET_LISTEN_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",MPYTHON_USOCKET_LISTEN_MESSAGE0:"listen to socket %1 with backlog as %2",MPYTHON_USOCKET_LISTEN_TOOLTIP:"backlog : Maximum number of accepted sockets, at least 0, default reasonable value if not specified",MPYTHON_USOCKET_BIND_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",MPYTHON_USOCKET_BIND_MESSAGE0:"socket %1 bind with address %2 and port %3",MPYTHON_USOCKET_BIND_TOOLTIP:"",MPYTHON_USOCKET_CLOSE_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",MPYTHON_USOCKET_CLOSE_MESSAGE0:"close socket %1",MPYTHON_USOCKET_CLOSE_TOOLTIP:"",MPYTHON_USOCKET_INIT_HELPURL:"http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",MPYTHON_USOCKET_INIT_MESSAGE0:"create socket %1 with af %2 and type %3",MPYTHON_USOCKET_INIT_TOOLTIP:"AF_INET:=2 — TCP/IP IPv4\nAF_INET6 :=10 — TCP/IP IPv6\nSOCK_STREAM:=1 — TCP stream\nSOCK_DGRAM:=2 — UDP datagram\nSOCK_RAW :=3 — Original socket\nSO_REUSEADDR : =4 — Socket reusable\n",MPYTHON_GET_POST_HELPURL:"",MPYTHON_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_HELPURL:"",MPYTHON_UREQUESTS_GET_POST_TOOLTIP:"",MPYTHON_UREQUESTS_GET_POST_MESSAGE0:"%1 request url %2 submit fields %3",MPYTHON_UREQUESTS_POST_FILE_HELPURL:"",MPYTHON_UREQUESTS_POST_FILE_TOOLTIP:"",MPYTHON_UREQUESTS_POST_FILE_MESSAGE0:"Post submit file %1 request url %2 file path %3 mime type %4 fields %5",MPYTHON_RESPONSE_HELPURL:"",MPYTHON_RESPONSE_MESSAGE0:"return response content as %1",MPYTHON_RESPONSE_TOOLTIP:"",STRING:"string",_BYTE:"byte",TEXT:"text",MPYTHON_RESPONSE_ATTRIBUTE_HELPURL:"",MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0:"response attribute %1",MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP:"",MPYTHON_SLEEP_MESSAGE0:"waiting for %1 %2",MPYTHON_SLEEP_TOOLTIP:"Wait for the time before proceeding to the next command.\n1 second = 1,000 milliseconds (ms)\n1 second = 1,000,000 microseconds (μs)",MPYTHON_MS:"millisecond(ms)",MPYTHON_US:"microsecond(μs)",MPYTHON_TIME_DIFFERENCE_HELPURL:"",MPYTHON_TIME_DIFFERENCE_MESSAGE0:"Return time difference from %1 to %2",MPYTHON_TIME_DIFFERENCE_TOOLTIP:"Measure the period between successive calls to ticks_ms (), ticks_us ()",MPYTHON_TYPE_HELPURL:"",MPYTHON_TYPE_MESSAGE0:"type %1",MPYTHON_TYPE_TOOLTIP:"",MPYTHON_TYPE_IS_HELPURL:"",MPYTHON_TYPE_IS_MESSAGE0:"type %1 is %2",MPYTHON_TYPE_IS_TOOLTIP:"",MPYTHON_EVAL_HELPURL:"",MPYTHON_EVAL_MESSAGE0:"eval %1",MPYTHON_EVAL_TOOLTIP:"Simulate a string expression and return the result",MPYTHON_RETURN_HELPURL:"",MPYTHON_RETURN_MESSAGE0:"return %1",MPYTHON_RETURN_TOOLTIP:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL:"",MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0:"I2C digital ray",MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP:"",MPYTHON_WIFI_ALL_CONFIG_HELPURL:"",MPYTHON_WIFI_ALL_CONFIG_MESSAGE0:"Wi-Fi configuration information",MPYTHON_WIFI_ALL_CONFIG_TOOLTIP:"Returns all wifi configuration information as tuples",MPYTHON_WIFI_ISCONNECTED_HELPURL:"",MPYTHON_WIFI_ISCONNECTED_MESSAGE0:"Has connected to Wi-Fi",MPYTHON_WIFI_ISCONNECTED_TOOLTIP:"",MPYTHON_INIT_ASSISTANT_WIFI_HELPURL:"",MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0:"Wi-Fi Connect voice assistant Wi-Fi name%1 password%2",MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP:"Control board passes WIF to voice assistant through serial port",MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL:"",MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP:"Files need to be uploaded to the board on the file system first",MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0:"Read Voice Assistant Text Files %1",MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL:"",MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0:"digital tube display %1",MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP:"-999~9999",MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL:"",MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0:"clear the digital tube display",MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP:"",MPYTHON_MACHINE_RESET_HELPURL:"",MPYTHON_MACHINE_RESET_MESSAGE0:"reset",MPYTHON_MACHINE_RESET_TOOLTIP:"Same as pressing an external reset button",MPYTHON_BLUEBIT_GET_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0:"I2C RGB color %1",MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0:"I2C RGB color",MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP:"Returns as list",MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0:"I2C HSV color %1",MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL:"",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0:"I2C HSV color",MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP:"HSV(Hue, Saturation, Value)",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0:"I2C force sensor Dial code %1",MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0:"I2C current sensor Dial code %1",MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0:"I2C voltage sensor Dial code %1",MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0:"I2C magnetic sensor Dial code %1",MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0:"I2C PH sensor Dial code %1",MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0:"I2C TDS sensor Dial code %1",MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0:"I2C Pressure sensor Dial code %1",MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL:"",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0:"I2C Photogate Timer sensor Dial code %1",MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP:"I2C Address Corresponds to the Requirements of Coding Switches",MPYTHON_RED:"red",MPYTHON_GREEN:"green",MPYTHON_BLUE:"blue",MPYTHON_MUSIC_PIN_P6:"default",MPYTHON_MUSIC_PIN_P6_HELPURL:"",MPYTHON_MUSIC_PIN_P6_MESSAGE0:"%1",MPYTHON_MUSIC_PIN_P6_TOOLTIP:"",MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0:"play music %1 wait %2 loop %3 Pin %4",MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP:"Play the built-in music, you can set the standby mode and loop playback.",MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",MICROBIT_MUSIC_PITCH_MESSAGE0:"play tone %1 %2 delay %3 millisecond(s) at Pin %4",MICROBIT_MUSIC_PITCH_TOOLTIP:"Plays the tone for the set length of time.",MICROBIT_MUSIC_PITCH_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0:"at Pin %5 play note list %1 wait %2 %3 loop %4",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP:"Play a list of notes, such as C4:4, G4:8, etc., the notes are in string form, the default pin is P6 of the mPython board",MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",MICROBIT_MUSIC_RESET_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",MICROBIT_MUSIC_RESET_MESSAGE0:"restore music settings",MICROBIT_MUSIC_RESET_TOOLTIP:"Restore all music settings (current beats, scales, and periods) to their default values.",MICROBIT_MUSIC_STOP_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",MICROBIT_MUSIC_STOP_MESSAGE0:"stop playing music at Pin %1",MICROBIT_MUSIC_STOP_TOOLTIP:"The default pin is P6 of the mPython board",MICROBIT_MUSIC_SET_TEMPO_MESSAGE0:"set each beat equal to %1 notes, the number of beats per minute is %2",MICROBIT_MUSIC_SET_TEMPO_TOOLTIP:"Set the playback speed (beat). A certain number of tick represents a beat, the number of beats per minute per beat (BPM beats per minute).",MICROBIT_MUSIC_SET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0:"set the playback speed to %1 times",MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP:"The 4th note is 1 beat, and the number of beats per minute is 120 by default, which is 1 times the playback speed.",MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",MICROBIT_MUSIC_GET_TEMPO_MESSAGE0:"current beats",MICROBIT_MUSIC_GET_TEMPO_TOOLTIP:"Get current beats: Taps per beat, beats per minute (BPM).",MICROBIT_MUSIC_GET_TEMPO_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",MPYTHON_BLUEBIT_HUM_TEM_HELPURL:"",MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP:"",MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0:"I2C %1",MPYTHON_BLUEBIT_TEMPERATURE:"temperature",MPYTHON_BLUEBIT_HUMIDITY:"humidity",MPYTHON_UART_INIT_HELPURL:"",MPYTHON_UART_INIT_MESSAGE0:"initialize serial port %4 as baudrate %1 tx %2 rx %3",MPYTHON_UART_INIT_TOOLTIP:"mPython board supports 3 sets of serial ports. 0 for repl, remaining 1, 2 sets of serial ports available. All pins can be used as the input of serial port rx, except P2, p3, p4, p10 can only be used as input, and all the other pins can be used as output tx. in theory.",MPYTHON_UART_DEINIT_HELPURL:"",MPYTHON_UART_DEINIT_MESSAGE0:"close serial port %1",MPYTHON_UART_DEINIT_TOOLTIP:"Turn off the UART bus",MPYTHON_UART_WRITE_STR_HELPURL:"",MPYTHON_UART_WRITE_STR_MESSAGE0:"serial port %1 write string %2 %3",MPYTHON_UART_WRITE_STR_TOOLTIP:"Write a text to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_HEX_HELPURL:"",MPYTHON_UART_WRITE_HEX_MESSAGE0:"serial port %1 write hex string %2 %3",MPYTHON_UART_WRITE_HEX_TOOLTIP:"",MPYTHON_UART_HAS_DATA_HELPURL:"",MPYTHON_UART_HAS_DATA_MESSAGE0:"serial port %1 has readable data",MPYTHON_UART_HAS_DATA_TOOLTIP:"Returns an integer that counts the number of characters that can be read without blocking. \n If there are no characters available, it will return 0, if there are characters, it will return a positive number. \n This method can return 1 even if there are multiple readable characters.",MPYTHON_UART_READLINE_HELPURL:"",MPYTHON_UART_READLINE_MESSAGE0:"serial port %1 read a line of data",MPYTHON_UART_READLINE_TOOLTIP:"Read a line and end with a newline character.\nReturn value: Read row or None timeout.",MPYTHON_UART_READ_HELPURL:"",MPYTHON_UART_READ_MESSAGE0:"serial port %1 read data",MPYTHON_UART_READ_TOOLTIP:"Read as much serial data as possible.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_READ_LENGTH_HELPURL:"",MPYTHON_UART_READ_LENGTH_MESSAGE0:"serial port %1 read data with length as %2",MPYTHON_UART_READ_LENGTH_TOOLTIP:"Read the specified length bytes data.\n Return value: A list of bytes containing the bytes read. Returns None if the read times out.",MPYTHON_UART_WRITE_BYTE_HELPURL:"",MPYTHON_UART_WRITE_BYTE_MESSAGE0:"serial port %1 write a byte %2",MPYTHON_UART_WRITE_BYTE_TOOLTIP:"The parameter is a integer as 0~255\nWrite a byte to the bus. \nReturn value: The number of bytes to write or None to time out.",MPYTHON_UART_WRITE_BYTES_HELPURL:"",MPYTHON_UART_WRITE_BYTES_MESSAGE0:"serial port %1 write bytes %2",MPYTHON_UART_WRITE_BYTES_TOOLTIP:"Write some bytes to the bus. \nReturn value: The number of bytes to write or None to time out.",TEXT_FORMAT_MESSAGE0:"format string %1 % %2",TEXT_FORMAT_TOOLTIP:"",TEXT_FORMAT_HELPURL:"",TEXT_FORMAT2_MESSAGE0:"format string %1 with %2",TEXT_FORMAT2_TOOLTIP:"",TEXT_FORMAT2_HELPURL:"",MPYTHON_BAUDRATE_HELPURL:"",MPYTHON_BAUDRATE_MESSAGE0:"%1",MPYTHON_BAUDRATE_TOOLTIP:"",MPYTHON_HIGH_LOW_HELPURL:"",MPYTHON_HIGH_LOW_MESSAGE0:"%1",MPYTHON_HIGH_LOW_TOOLTIP:"",MPYTHON_TEN_CONVERT_TO_HELPURL:"",MPYTHON_TEN_CONVERT_TO_MESSAGE0:"decimal int num %1 converted to %2 string",MPYTHON_TEN_CONVERT_TO_TOOLTIP:"",MPYTHON_BIN:"BIN",MPYTHON_OCT:"OCT",MPYTHON_HEX:"HEX",MPYTHON_CONVERT_TO_TEN_HELPURL:"",MPYTHON_CONVERT_TO_TEN_MESSAGE0:"%1 string %2 converted to decimal int num",MPYTHON_CONVERT_TO_TEN_TOOLTIP:"",MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL:"",MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0:"decimal int num %2 converted to %1 bytes",MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP:"",MPYTHON_INT_TO_CHR_HELPURL:"",MPYTHON_INT_TO_CHR_MESSAGE0:"shaping number %1 converted to character in ASCII",MPYTHON_INT_TO_CHR_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_STR_TO_HEX_HELPURL:"",MPYTHON_STR_TO_HEX_MESSAGE0:"string %1 converted to hex bytes",MPYTHON_STR_TO_HEX_TOOLTIP:"Returns two hexadecimal numbers separated by spaces in the result",MPYTHON_CHR_TO_INT_HELPURL:"",MPYTHON_CHR_TO_INT_MESSAGE0:"character in ASCII %1 converted to shaping number",MPYTHON_CHR_TO_INT_TOOLTIP:"ASCII is a computer coding system based on the Latin alphabet, mainly used to display modern English and other Western European languages",MPYTHON_HEX_TO_BIN_STR_HELPURL:"",MPYTHON_HEX_TO_BIN_STR_MESSAGE0:"hex string %1 converted to bin bytes",MPYTHON_HEX_TO_BIN_STR_TOOLTIP:"",MPYTHON_DATA_TO_BASE64_HELPURL:"",MPYTHON_DATA_TO_BASE64_MESSAGE0:"encoding data %1 in base64 and return byte object",MPYTHON_DATA_TO_BASE64_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_BASE64_TO_DATA_HELPURL:"",MPYTHON_BASE64_TO_DATA_MESSAGE0:"decoding base64 data %1 and return byte object",MPYTHON_BASE64_TO_DATA_TOOLTIP:"Base64 encoding is a process from binary to character",MPYTHON_UJSON_DUMPS_HELPURL:"",MPYTHON_UJSON_DUMPS_MESSAGE0:"%1 converted to json string",MPYTHON_UJSON_DUMPS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_UJSON_LOADS_HELPURL:"",MPYTHON_UJSON_LOADS_MESSAGE0:"parse json string %1 and return the object",MPYTHON_UJSON_LOADS_TOOLTIP:"Key in json format must be a string, and value can be a legitimate json data type (string, number, object, array, Boolean, or none",MPYTHON_SETS_PIN_MODE_HELPURL:"https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",MPYTHON_SETS_PIN_MODE_TOOLTIP:"Right-click help to view the pin declaration",MPYTHON_SETS_PIN_MODE_MESSAGE0:"set pin %1 as %2 mode %3 and set the value to %4",MPYTHON_SET_PIN_IN:"input",MPYTHON_SET_PIN_PUSH_PULL_OUT:"Push-pull output",MPYTHON_SET_PIN_LEAKY_OUT:"Leaky output",MPYTHON_SET_PIN_NO_PULL:"no pull",MPYTHON_SET_PIN_DOWN_PULL:"pull down",MPYTHON_SET_PIN_UP_PULL:"pull up",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL:"",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0:"thread lock object %1 requests lock",MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP:"",MPYTHON_START_NEW_THREAD_HELPURL:"",MPYTHON_START_NEW_THREAD_MESSAGE0:"thread %1",MPYTHON_START_NEW_THREAD_TOOLTIP:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL:"",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0:"custom terminal widget on virtual pin V %1",MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP:"",MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL:"",MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0:"synchronizing the status of virtual pin V %1",MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP:"",MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0:"when Blynk disconnected",MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP:"",MPYTHON_BLYNK_ON_CONNECTED_HELPURL:"",MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0:"when Blynk connected",MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP:"",MPYTHON_BLYNKTIMER_RUN_HELPURL:"",MPYTHON_BLYNKTIMER_RUN_MESSAGE0:"run the BlynkTimer processes",MPYTHON_BLYNKTIMER_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_RUN_HELPURL:"",MPYTHON_BLYNK_RUN_MESSAGE0:"run the Blynk processes",MPYTHON_BLYNK_RUN_TOOLTIP:"It is recommended to put this block in 'repeat forever' block",MPYTHON_BLYNK_APP_NOTIFY_HELPURL:"",MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0:"Blynk APP notifies %1",MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP:"",MPYTHON_BLYNKTIMER_HELPURL:"",MPYTHON_BLYNKTIMER_MESSAGE0:"BlynkTimer number %1 mode %2 period %3 seconds",MPYTHON_BLYNKTIMER_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_BLYNK_STOP_TIMERS_HELPURL:"",MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0:"stop Blynk timer %1",MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP:'Note:\nthe serial number of the timer is automatically obtained, from top to bottom, starting from 0 and continuous, don`t do this"timer 0, timer 2", the exposed serial number parameter is convenient to view here!\nParameter:\nno_timers_err=False - disable exception raise if all all timers were stopped',MPYTHON_UART_INPUT_HELPURL:"",MPYTHON_UART_INPUT_MESSAGE0:"get input text from serial port, title %1",MPYTHON_UART_INPUT_TOOLTIP:"",MPYTHON_BLYNK_SET_PROPERTY_HELPURL:"",MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0:"set property %1 and value %2 to virtual pin",MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP:"Placed in a read or write event, the virtual pin is determined by the event,the component bound to the pin will have the added property",MPYTHON_BLYNK_EMAIL_HELPURL:"",MPYTHON_BLYNK_EMAIL_MESSAGE0:"email to pre-set email address with %1 subject %2 body %3",MPYTHON_BLYNK_EMAIL_TOOLTIP:"",MPYTHON_BLYNK_GET_TIMERS_HELPURL:"",MPYTHON_BLYNK_GET_TIMERS_MESSAGE0:"available Blynk timers",MPYTHON_BLYNK_GET_TIMERS_TOOLTIP:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL:"",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0:"send data %1 to Blynk APP's virtual pin V %2",MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP:"virtual pin: V0 ~ V255",MPYTHON_BLYNK_APP_DATA_HELPURL:"",MPYTHON_BLYNK_APP_DATA_MESSAGE0:"when received value %2 of virtual pin V %1 from Blynk",MPYTHON_BLYNK_APP_DATA_TOOLTIP:"Virtual pin: V0 ~ V255",MPYTHON_BLYNK_RECEIVED_MESSAGE0:"when received value of virtual pin V %1 from Blynk",MPYTHON_BLYNK_VALUE_MESSAGE0:"value from Blynk",MPYTHON_BLYNK_VALUE_TOOLTIP:"",MPYTHON_BLYNK_VALUE_HELPURL:"",MPYTHON_BLYNK_SETUP_HELPURL:"",MPYTHON_BLYNK_SETUP_MESSAGE0:"Blynk Settings %1 server %2 port %3 authorization code %4",MPYTHON_BLYNK_SETUP_TOOLTIP:'The server can be set to "blynk-cloud.com" or "blynk.mpython.cn"\n The default port is 8080\n Note: The mobile APP access port is 9443.',INT_TO_CHR_HELPURL:"",INT_TO_CHR_MESSAGE0:"int %1 to ASCII single character",INT_TO_CHR_TOOLTIP:"",a123_HELPURL:"",a123_MESSAGE0:"新 %1",a123_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_MESSAGE0:"disconnect from OneNET",MPYTHON_ONENET_DISCONNECT_TOOLTIP:"",MPYTHON_ONENET_DISCONNECT_HELPURL:"",MPYTHON_ONENET_MSG_MESSAGE0:"message from OneNET",MPYTHON_ONENET_MSG_TOOLTIP:"",MPYTHON_ONENET_MSG_HELPURL:"",MPYTHON_ONENET_RECV_MESSAGE0:"when received message %1 from OneNET",MPYTHON3_ONENET_RECV_MESSAGE0:"when received message from OneNET",MPYTHON_ONENET_RECV_TOOLTIP:"",MPYTHON_ONENET_RECV_HELPURL:"",MPYTHON_ONENET_RECV_MSG_MESSAGE0:"when received specific message %1 from OneNET",MPYTHON_ONENET_RECV_MSG_TOOLTIP:"",MPYTHON_ONENET_RECV_MSG_HELPURL:"",MPYTHON_ONENET_PUB_VALUE_MESSAGE0:"publish data to OneNET, name %1 value %2",MPYTHON_ONENET_PUB_VALUE_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE_HELPURL:"",MPYTHON_ONENET_PUB_DICT_MESSAGE0:"publish data to OneNET %1",MPYTHON_ONENET_PUB_DICT_TOOLTIP:"",MPYTHON_ONENET_PUB_DICT_HELPURL:"",MPYTHON_HCSR04_DISTANCE_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MESSAGE0:"%1 hcsr04 untrasonic distance, unit %2",MPYTHON_HCSR04_DISTANCE_TOOLTIP:"",MPYTHON_HCSR04_DISTANCE_MM_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0:"%1 hcsr04 untrasonic(mm)",MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP:"",MPYTHON_HCSR04_OBJ_HELPURL:"https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",MPYTHON_HCSR04_OBJ_MESSAGE0:"Hcsr04 ultrasonic initialize name %1 trigger %2 echo %3",MPYTHON_HCSR04_OBJ_TOOLTIP:"",MPYTHON_PM2_5_LitresAir_HELPURL:"",MPYTHON_PM2_5_LitresAir_MESSAGE0:"RX pin %1 Number of particles with diameter of %2 in 0.1 liter air",MPYTHON_PM2_5_LitresAir_TOOLTIP:"",MPYTHON_PM2_5_MIC_HELPURL:"",MPYTHON_PM2_5_MIC_MESSAGE0:"RX pin %1 PM value concentration %2",MPYTHON_PM2_5_MIC_TOOLTIP:"",MPYTHON3_IR_REMOTE_RECV_MESSAGE0:"when infrared receiver %1 received message %2 do %3",MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0:"callback address",MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0:"received message",MPYTHON_IR_REMOTE_RECV_MESSAGE0:"infrared receive %1 callback address %2 callback command %3",MPYTHON_IR_REMOTE_RECV_HELPURL:"",MPYTHON_IR_REMOTE_RECV_TOOLTIP:"",MPYTHON_IR_REMOTE_SEND_MESSAGE0:"infrared send %1 address %2 command %3",MPYTHON_IR_REMOTE_SEND_HELPURL:"",MPYTHON_IR_REMOTE_SEND_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_MESSAGE0:"publish data to Wechat app, name %1 value %2",MPYTHON_ONENET_PUB_VALUE2_TOOLTIP:"",MPYTHON_ONENET_PUB_VALUE2_HELPURL:"",MPYTHON_ONENET_ACCEPT_MESSAGE:"If received message",MPYTHON_ONENET:"OneNET settings",MPYTHON_ONENET_WECHAT_APP:"Wechat app settings",MPYTHON_ONENET_OPTION_BOARDS:"optional mPython boards",MPYTHON_ONENET_TITLE:"OneNET",MPYTHON_SERVER:"server",MPYTHON_DEVICE_ID:"device_id",MPYTHON_PRODUCT_ID:"product_id",MPYTHON_API_KEY:"product_APIKey",MPYTHON_TOPIC:"topic",MPYTHON_ONENET_CALLBACK:"Callback function",MPYTHON_ONENET_CALLBACK_TITLE:"OneNET callback",MPYTHON_ONENET_OPTION_BOARDS_HELPURL:"",MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0:"choose mPython App %1 in WeChat App",MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP:"",TEXT_TO_BYTE_MESSAGE0:"convert %1 to bytes",TEXT_TO_BYTE_TOOLTIP:"Supported data type as string",TEXT_TO_BYTE_HELPURL:"",OTHER_TO_BYTE_MESSAGE0:"convert Non-text %1 to bytes",OTHER_TO_BYTE_TOOLTIP:"",OTHER_TO_BYTE_HELPURL:"",MPYTHON_BYTES_DECODE_HELPURL:"",MPYTHON_BYTES_DECODE_MESSAGE0:"convert bytes %1 to string",MPYTHON_BYTES_DECODE_TOOLTIP:"",MPYTHON_ONENET_TOOLTIP:"Create a OneNET connection",MPYTHON_ONENET_INIT_WIFI_MESSAGE0:"IoT make sure to connect to Wi-Fi with SSID %1 & Password %2",MPYTHON_ONENET_INIT_WIFI_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_ONENET_INIT_WIFI_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL:"",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0:"when receives %1 and %2 from WeChat App",MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP:"",MPYTHON_MAC_ADDRESS_HELPURL:"",MPYTHON_MAC_ADDRESS_MESSAGE0:"MAC Address",MPYTHON_MAC_ADDRESS_TOOLTIP:"",MPYTHON_RADIO_REC_HELPURL:"",MPYTHON_RADIO_REC_MESSAGE0:"radio received",MPYTHON_RADIO_REC_TOOLTIP:"received data is bytes",MPYTHON_RADIO_SEND_HELPURL:"",MPYTHON_RADIO_SEND_MESSAGE0:"radio sends %1",MPYTHON_RADIO_SEND_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_CHANNEL_HELPURL:"",MPYTHON_RADIO_CHANNEL_MESSAGE0:"set radio channel %1",MPYTHON_RADIO_CHANNEL_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_ON_OFF_HELPURL:"",MPYTHON_RADIO_ON_OFF_MESSAGE0:"%1 radio",MPYTHON_RADIO_ON_OFF_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_MSG_MESSAGE0:"message from Radio",MPYTHON_RADIO_MSG_TOOLTIP:"",MPYTHON_RADIO_MSG_HELPURL:"",MPYTHON3_RADIO_RECV_MESSAGE0:"when receiving broadcast message from Radio %1 do %2",MPYTHON_RADIO_RECV_MESSAGE0:"when receiving broadcast message %1 from Radio",MPYTHON_RADIO_RECV_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_HELPURL:"",MPYTHON_RADIO_RECV_MSG_MESSAGE0:"when receiving specific broadcast message %1 from Radio %2 do %3",MPYTHON_RADIO_RECV_MSG_TOOLTIP:"channel: 1~13",MPYTHON_RADIO_RECV_MSG_HELPURL:"",MPYTHON_UDP_INIT_HELPURL:"",MPYTHON_UDP_INIT_MESSAGE0:"connect to UDP",MPYTHON_UDP_INIT_TOOLTIP:"base on Wi-Fi",MPYTHON_UDP_SEND_HELPURL:"",MPYTHON_UDP_SEND_MESSAGE0:"UDP send message %1 to all",MPYTHON_UDP_SEND_TOOLTIP:"",MPYTHON_UDP_SENDTO_HELPURL:"",MPYTHON_UDP_SENDTO_MESSAGE0:"UDP send message %1 to %2 port %3",MPYTHON_UDP_SENDTO_TOOLTIP:"",MPYTHON_UDP_RECV_HELPURL:"",MPYTHON_UDP_RECV_MESSAGE0:"UDP receive message",MPYTHON_UDP_RECV_TOOLTIP:"",MPYTHON_UDP_RECV_EVENT_HELPURL:"",MPYTHON_UDP_RECV_EVENT_MESSAGE0:"when received message from UDP %1 do %2",MPYTHON_UDP_RECV_EVENT_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_MESSAGE0:"message from UDP",MPYTHON_UDP_RECV_MSG_TOOLTIP:"",MPYTHON_UDP_RECV_MSG_HELPURL:"",MPYTHON_DISPCHAR_MODE_1:"normal",MPYTHON_DISPCHAR_MODE_2:"rev",MPYTHON_DISPCHAR_MODE_3:"trans",MPYTHON_AUDIO_XUNFEI_TTS_HELPURL:"",MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0:"TTS play text %1",MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP:'The "Online Speech Synthesis" service needs to be enabled on the "Xunfei Open Platform" www.xfyun.cn',MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL:"https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0:"TTS config APPID %1 APIKey %2",MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP:'Enter the APPID and APIKey obtained on the "Xunfei Open Platform" www.xfyun.cn\nNote: To set the IP whitelist',MPYTHON_AUDIO_PLAY_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0:"Audio play %1",MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP:"Need active speakers\nP8 left channel\nP9 right channel\nGND ground\nparameter: \n the url of the network mp3, or the mp3 that has been uploaded to the mPython board, e.g 'music_1.mp3'",MPYTHON_AUDIO_DEINIT_HELPURL:"",MPYTHON_AUDIO_DEINIT_MESSAGE0:"deinit Audio",MPYTHON_AUDIO_DEINIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_CMD_HELPURL:"",MPYTHON_AUDIO_CMD_MESSAGE0:"Audio %1",MPYTHON_AUDIO_CMD_TOOLTIP:"",MPYTHON_AUDIO_INIT_HELPURL:"",MPYTHON_AUDIO_INIT_MESSAGE0:"initialize Audio",MPYTHON_AUDIO_INIT_TOOLTIP:"Create a cache for controlling the audio decoding",MPYTHON_AUDIO_START_RECORDING_HELPURL:"",MPYTHON_AUDIO_START_RECORDING_MESSAGE0:"Start the recording The recording time %1 seconds",MPYTHON_AUDIO_START_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.The recording should not be longer than 5 seconds",MPYTHON_AUDIO_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0:"Recording the results",MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0:"For %1 Discern",MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL:"",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0:"Discern Recording the results",MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP:"Need mPython board v1.1 or above hardware version.",MPYTHON_RECORD_INIT_HELPURL:"",MPYTHON_RECORD_INIT_MESSAGE0:"initialize Recording",MPYTHON_RECORD_INIT_TOOLTIP:"Recording initialization.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_DEINIT_HELPURL:"",MPYTHON_RECORD_DEINIT_MESSAGE0:"Trelease cache of Recording",MPYTHON_RECORD_DEINIT_TOOLTIP:"Release the cache after the recording ends.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_RECORD_WAV_HELPURL:"",MPYTHON_RECORD_WAV_MESSAGE0:"record audio with storage path %1 and duration %2 second(s)",MPYTHON_RECORD_WAV_TOOLTIP:"Record audio and store it in *.wav format.\nNeed mPython board v1.1 or above hardware version.",MPYTHON_ASR_HELPURL:"",MPYTHON_ASR_MESSAGE0:"get voice command within %1 seconds",MPYTHON_ASR_TOOLTIP:"Can recognize voice command within 3 seconds.\nNeed mPython board v1.1 or above hardware version.",mpython_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_button_A:"P5 (button A)",mpython_button_B:"P11 (button B)",mpython_PIN7_RGB:"P7 (Onboard RGB)",MPYTHON_PWM_PIN_P7:"P7 (mPython board)",MPYTHON_PWM_PIN_P9:"P9 (mPython box)",mpython_tem:"temperature",mpython_hum:"humidity",mpython_pre:"air pressure",mpython_left_right:"left-right",mpython_front_back:"front-back",mpython_vertical:("vertical","vertical"),mpython_horizontal:("horizontal","horizontal"),mpython_run_in_back:"background",mpython_run_in_front:"foreground",mpython_draw:"draw",mpython_clear:"clear",mpython_s:"second",mpython_ms:"millisecond",mpython_us:"microsecond",mpython_year:"year",mpython_month:"month",mpython_date:"day",mpython_hour:"hour",mpython_minute:"minute",mpython_week:"week number",mpython_days:"days number",MPYTHON_ORDER:"#",MPYTHON_REVERSE_ORDER:"countdown #",MATH_RANDOM_RANDRANGE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MATH_RANDOM_RANDRANGE_TOOLTIP:"Returns a random number in the specified incremental cardinality set, the base value defaults to 1",MATH_RANDOM_RANDRANGE_MESSAGE0:"random number increments from increment interval [%1 , %2) by step %3",MATH_KEEP_DECIMAL_HELPURL:"",MATH_KEEP_DECIMAL_TOOLTIP:"",MATH_KEEP_DECIMAL_MESSAGE0:"%1 keep %2 decimal places",MPYTHON_MIN:"min value",MPYTHON_MAX:"max value",MPYTHON_LENTH:"length",TUPLE_MIN_MAX_LEN_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_MIN_MAX_LEN_TOOLTIP:"",TUPLE_MIN_MAX_LEN_MESSAGE0:"tuple %1 %2",TUPLE_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_ITEM_EXIST_TOOLTIP:"",TUPLE_ITEM_EXIST_MESSAGE0:"tuple %1 include %2",LIST_ITEM_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ITEM_EXIST_TOOLTIP:"",LIST_ITEM_EXIST_MESSAGE0:"list %1 include %2",PARTS_OF_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",PARTS_OF_TUPLE_MESSAGE0:"return tuple %1 from the %2 to the last item",PARTS_OF_TUPLE2_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_TUPLE2_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_TUPLE2_MESSAGE0:"return tuple %1 takes %2 %3 items to %4 %5 items",PARTS_OF_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",PARTS_OF_LIST_TOOLTIP:"Incremental order fetching \n Example: \n reciprocal number 5 to reciprocal number 2; \n 0th to 5th",PARTS_OF_LIST_MESSAGE0:"return list %1 takes %2 %3 items to %4 %5 items",LIST_TO_TUPLE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_TO_TUPLE_TOOLTIP:"",LIST_TO_TUPLE_MESSAGE0:"list %1 conversion to tuple",tuple_create_with_MESSAGE0:"define tuple %1 = %2 ",tuple_create_with_TOOLTIP:"When you only have one element, you need to add a comma after the element",tuple_create_with_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",tuple_order_item_MESSAGE0:"tuple %1 %2 %3 item",tuple_order_item_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",tuple_order_item_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LIST_ORDER_ITEM_MESSAGE0:"list %1 %2 %3 item",LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_LIST_ORDER_ITEM_MESSAGE0:"set list %1 %2 %3 item as %4",SET_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INSERT_LIST_ORDER_ITEM_MESSAGE0:"insert list %1 %2 %3 item as %4",INSERT_LIST_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",INSERT_LIST_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_TUPLE_ORDER_ITEM_MESSAGE0:"set tuple %1 %2 %3 item as %4",SET_TUPLE_ORDER_ITEM_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_TUPLE_ORDER_ITEM_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_TOOLTIP:"",DICT_CREATE_WITH_MESSAGE0:"define dictionary %1 = %2",SET_CREATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_TOOLTIP:"",SET_CREATE_WITH_MESSAGE0:"define set %1 = %2",SET_UPDATE_WITH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_UPDATE_WITH_TOOLTIP:"Add parameters as strings, lists, tuples, sets, dictionaries (add only key). For existing elements, do not do anything",SET_UPDATE_WITH_MESSAGE0:"update set %1 with %2",INTERSECTION_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",INTERSECTION_OF_SETS_TOOLTIP:"",INTERSECTION_OF_SETS_MESSAGE0:"%1 of set %2 and set %3",MPYTHON_INTERSECTION:"intersection",MPYTHON_UNION:"union",MPYTHON_DIFFERENCE:"difference",SETS_UPDATE_WAYS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SETS_UPDATE_WAYS_TOOLTIP:"",SETS_UPDATE_WAYS_MESSAGE0:"update set %1 as the %3 with set %2",SUBSET_SUPERSET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SUBSET_SUPERSET_TOOLTIP:"",SUBSET_SUPERSET_MESSAGE0:"set %1 is %3 of set %2",MPYTHON_SUBSET:"subset",MPYTHON_SUPERSET:"superset",GET_SETS_POP_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",GET_SETS_POP_TOOLTIP:"",GET_SETS_POP_MESSAGE0:"return a random item from the set %1, and remove it",LEN_OF_SETS_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LEN_OF_SETS_TOOLTIP:"",LEN_OF_SETS_MESSAGE0:"length of set %1",CREATE_EMPTY_SET_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",CREATE_EMPTY_SET_TOOLTIP:"",CREATE_EMPTY_SET_MESSAGE0:"create empty sets %1",BIT_INVERSION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",BIT_INVERSION_TOOLTIP:"Reverse each binary bit of data",BIT_INVERSION_MESSAGE0:"invert each binary bit of the data %1",TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"The sequence count starts from 0, and the reverse count starts from 1.",SET_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"Items can be strings, assigned variables, tuples",DICT_CREATE_WITH_ITEMS_INSERT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP:"",DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_VALUE_TOOLTIP:"",DICT_KEY_VALUE_MESSAGE0:"value of the key %2 in dictionary %1",ADD_DICT_KEY_VALUE_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",ADD_DICT_KEY_VALUE_TOOLTIP:"Update the key if the key already exists",ADD_DICT_KEY_VALUE_MESSAGE0:"add key %2 & value %3 to dictionary %1",DICT_LENGTH_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_LENGTH_TOOLTIP:"",DICT_LENGTH_MESSAGE0:"length of dictionary %1",DICT_KEY_EXIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_EXIST_TOOLTIP:"",DICT_KEY_EXIST_MESSAGE0:"dictionary %1 include key %2",DICT_KEY_OR_VAL_LIST_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",DICT_KEY_OR_VAL_LIST_TOOLTIP:"",DICT_KEY_OR_VAL_LIST_MESSAGE0:"list of %2 in dictionary %1",DICT_KEYS:"KEY",DICT_VALUES:"VALUE",mpython_lists_append_MESSAGE0:"add item %2 at the end of list %1",mpython_lists_append_TOOLTIP:"",mpython_lists_append_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_extend_MESSAGE0:"list %1 append list %2",mpython_lists_extend_TOOLTIP:"",mpython_lists_extend_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_lists_clear_MESSAGE0:"clear list %1",mpython_lists_clear_TOOLTIP:"",mpython_lists_clear_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_REMOVE_REPETITION_MESSAGE0:"list%1 remove repetition",MPYTHON_REMOVE_REPETITION_TOOLTIP:"",MPYTHON_REMOVE_REPETITION_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_Timer_value_MESSAGE0:"timer %1 count value",mpython_Timer_value_TOOLTIP:"Get and return the current count value of the timer",mpython_Timer_deinit_MESSAGE0:"clear timer / event %1",mpython_Timer_deinit_TOOLTIP:"Cancel the initialization of the timer. Stop timer and disable timer peripherals",mpython_Interrupt_AB_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",mpython_Interrupt_AB_TOOLTIP:"",mpython_Interrupt_AB_MESSAGE0:"when the button %1 is %2",mpython_Interrupt_pin_HELPURL:"https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",mpython_Interrupt_pin_TOOLTIP:"Rising edge trigger: from low level to high level; falling edge trigger: from high level to low level",mpython_Interrupt_pin_MESSAGE0:"when pin %1 level is from %2",mpython_Interrupt_pin_IRQ_FALLING:"↘ high to low",mpython_Interrupt_pin_IRQ_RISING:"↗ low to high",mpython_IRQ_FALLING:"pressed",mpython_IRQ_RISING:"released",mpython_PERIODIC:"repeated mode",mpython_ONE_SHOT:"delayed mode",MPYTHON_IS_SHAKED_MESSAGE0:"the board %1",MPYTHON_IS_SHAKED_HELPURL:"",MPYTHON_IS_SHAKED_TOOLTIP:"",MPYTHON_IS_SHAKED:"was shaked",MPYTHON_IS_THROWN:"was thrown",MPYTHON_SHAKE_DETECTOR_MESSAGE0:"when the board %1",MPYTHON_SHAKE_DETECTOR_HELPURL:"",MPYTHON_SHAKE_DETECTOR_TOOLTIP:"",MPYTHON_IS_TILTED_MESSAGE0:"the board is %1",MPYTHON_IS_TILTED_HELPURL:"",MPYTHON_IS_TILTED_TOOLTIP:"",MPYTHON_TILT_DETECTOR_MESSAGE0:"when the board is %1",MPYTHON_TILT_DETECTOR_HELPURL:"",MPYTHON_TILT_DETECTOR_TOOLTIP:"",MPYTHON_DIRECTION_FORWARD:"tilt forward",MPYTHON_DIRECTION_BACK:"tilt back",MPYTHON_DIRECTION_RIGHT:"tilt right",MPYTHON_DIRECTION_LEFT:"tilt left",MPYTHON_DIRECTION_NONE:"flat",MPYTHON_TOUCH_EVENT_MESSAGE0:"when the touchpad %1 is %2",MPYTHON_TOUCH_EVENT_HELPURL:"",MPYTHON_TOUCH_EVENT_TOOLTIP:"",MPYTHON_TOUCH_EVENT_PRESSED:"pressed",MPYTHON_TOUCH_EVENT_UNPRESSED:"unpressed",MPYTHON_CUSTOM_EVENT_MESSAGE0:"event %1 : when %2",MPYTHON_CUSTOM_EVENT_HELPURL:"",MPYTHON_CUSTOM_EVENT_TOOLTIP:"Custom events use port 1/2/4/7/8/9/10, shared with Timers, cannot access one port at the same time.\nMax up to 4 events/timers at the same time.\nIf there is conflict, try changing the number.",mpython_music_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_music_range_pitch_TOOLTIP:"duration is the length of a single frequency",mpython_music_range_pitch_MESSAGE0:"play tone from %1 to %2 step %3 duration %4 ms Pin %5",mpython_neopixel_init_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_neopixel_init_TOOLTIP:"",mpython_neopixel_init_MESSAGE0:"initialize light strip with Name %1 Pin %2 Quantity %3",MPYTHON_NEOPIXEL_RAINBOW_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP:"",MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0:"define rainbow effect of light strip with Name %1 Quantity %2 bright %3 offset %4",MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP:"Adjust the brightness range of 0 to 100",MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0:"light strip %1 set brightness as %2",mpython_neopixel_single_TOOLTIP:"",mpython_neopixel_single_MESSAGE0:"light strip %1 # %2 R %3 G %4 B %5",mpython_neopixel_single_gui_MESSAGE0:"light strip %1 # %2 color as %3",mpython_neopixel_single_gui_TOOLTIP:"",mpython_neopixel_show_TOOLTIP:"",mpython_neopixel_show_MESSAGE0:"light strip %1 setting take effect",mpython_neopixel_off_TOOLTIP:"",mpython_neopixel_off_MESSAGE0:"light strip %1 off",mpython_neopixel_all_TOOLTIP:"",mpython_neopixel_all_MESSAGE0:"light strip %1 full bright R %2 G %3 B %4",mpython_neopixel_all_gui_TOOLTIP:"",mpython_neopixel_all_gui_MESSAGE0:"light strip %1 full bright with color %2",mpython_time_localtime_MESSAGE0:"local time %1",mpython_time_localtime_TOOLTIP:"Week number: return 0 to 6, Monday is 0, Sunday is 6\nDays number: return the position of the day in the year\nIt is recommended to connect wifi and get network time first.",mpython_WiFi_config_MESSAGE0:"Wi-Fi configuration information %1",mpython_WiFi_config_TOOLTIP:"",mpython_time_ticks_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",mpython_time_ticks_MESSAGE0:"run time %1",mpython_time_ticks_TOOLTIP:"",MPYTHON_TIMER_DEF_MESSAGE0:"define timer %1",MPYTHON_TIMER_INIT_MESSAGE0:"init timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_MESSAGE0:"set timer %1 %2 , cycle %3 millisecond(s)",mpython_Timer_TOOLTIP:"Create timer n, n=1-14.\nMax up to 4 timers at the same time.\nIf there is conflict, try changing the number.\n3 for internal program,\n5/6 for servo system and ADC,\n11 is used for shaked event,\n12 is used for touchpad event,\n13 is used for Radio or DHT11/DHT22 timing value,\n14 is used for OneNET or tilt detection,\nothers ports are shared with custom events.",mpython_Timer_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",mpython_init_bluetooth_MESSAGE0:"Initialize Bluetooth Name %1",mpython_init_bluetooth_TOOLTIP:"Initialize Bluetooth Name",mpython_OnOff_bluetooth_MESSAGE0:"Bluetooth device %1 broadcasting",mpython_OnOff_bluetooth_TOOLTIP:"Bluetooth devices turn on or off broadcasting",mpython_HID_consumer_bluetooth_MESSAGE0:"HID Consumption Equipment%1 Status%2",mpython_HID_consumer_bluetooth_TOOLTIP:"Controllers that simulate HID consumer devices, such as Bluetooth remote controls",mpython_HID_mouse_bluetooth_MESSAGE0:"HID Mouse button%1",mpython_HID_mouse_bluetooth_TOOLTIP:"HID Mouse button",mpython_HID_mouse_pointer_bluetooth_MESSAGE0:"Mouse pointer movement x%2 y%1",mpython_HID_mouse_pointer_bluetooth_TOOLTIP:"Relative Displacement of Mouse Pointer Coordinates X and Y,Range -1023 ~ 1023",mpython_HID_release_mouse_bluetooth_MESSAGE0:"Mouse Release Key",mpython_HID_release_mouse_bluetooth_TOOLTIP:"Mouse device",mpython_HID_keyboard_bluetooth_MESSAGE0:"HID Keyboard device keys%1",mpython_HID_keyboard_bluetooth_TOOLTIP:"HID keyboard equipment",mpython_HID_keyboard_group_bluetooth_MESSAGE0:"HID device keys%1 combination keys%2",mpython_HID_keyboard_group_bluetooth_TOOLTIP:'If you want to use multiple keystrokes to combine instructions, you can use "|" or arithmetic',mpython_HID_keyboard_part_bluetooth_MESSAGE0:"HID Device combination key%1",mpython_HID_keyboard_part_bluetooth_TOOLTIP:'If you want to use multiple key combinations of instructions, you can use "|" or operation',mpython_HID_release_keyboard_bluetooth_MESSAGE0:"Keyboard Release Key",mpython_HID_release_keyboard_bluetooth_TOOLTIP:"Keyboard equipment",mpython_init_wifi_MESSAGE0:"connect to Wi-Fi with SSID %1 & Password %2",mpython_init_wifi_TOOLTIP:"Let the board access the Wi-Fi environment",MPYTHON_WIFI_IFCONFIG_MESSAGE0:"Wi-Fi set static IP %1 IP address %2 netmask %3 gateway %4 DNS %5",MPYTHON_WIFI_IFCONFIG_TOOLTIP:"",MPYTHON_WIFI_IFCONFIG_HELPURL:"",mpython_dis_WiFi_MESSAGE0:"disconnect Wi-Fi connection",mpython_dis_WiFi_TOOLTIP:"",MPYTHON_ENABLE_APWIFI_HELPURL:"https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",MPYTHON_ENABLE_APWIFI_TOOLTIP:"The password can be empty or alphanumeric with more than 8 digits.\nAP mode is only used for communication between the control boards. It cannot be used as a hotspot to make other devices access the Internet.",MPYTHON_ENABLE_APWIFI_MESSAGE0:"open AP mode with SSID %1 & Password %2 Channel %3",mpython_disable_APWiFi_MESSAGE0:"close AP mode",mpython_disable_APWiFi_TOOLTIP:"",mpython_ntptime_settime_MESSAGE0:"synchronize network time, timezone %1 & timing server %2",mpython_ntptime_settime_TOOLTIP:"NTP time synchronization is a time synchronization network technology",mpython_wifi_get_date_MESSAGE0:"get the current date string",mpython_wifi_get_date_TOOLTIP:"",mpython_wifi_get_time_MESSAGE0:"get the current time string",mpython_wifi_get_time_TOOLTIP:"",mpython_ntptime_timezone_E1:"UTC+1",mpython_ntptime_timezone_E2:"UTC+2",mpython_ntptime_timezone_E3:"UTC+3",mpython_ntptime_timezone_E4:"UTC+4",mpython_ntptime_timezone_E5:"UTC+5",mpython_ntptime_timezone_E6:"UTC+6",mpython_ntptime_timezone_E7:"UTC+7",mpython_ntptime_timezone_E8:"UTC+8",mpython_ntptime_timezone_E9:"UTC+9",mpython_ntptime_timezone_E10:"UTC+10",mpython_ntptime_timezone_E11:"UTC+11",mpython_ntptime_timezone_E12:"UTC+12",mpython_ntptime_timezone_0:"UTC",mpython_ntptime_timezone_W1:"UTC-1",mpython_ntptime_timezone_W2:"UTC-2",mpython_ntptime_timezone_W3:"UTC-3",mpython_ntptime_timezone_W4:"UTC-4",mpython_ntptime_timezone_W5:"UTC-5",mpython_ntptime_timezone_W6:"UTC-6",mpython_ntptime_timezone_W7:"UTC-7",mpython_ntptime_timezone_W8:"UTC-8",mpython_ntptime_timezone_W9:"UTC-9",mpython_ntptime_timezone_W10:"UTC-10",mpython_ntptime_timezone_W11:"UTC-11",mpython_ntptime_timezone_W12:"UTC-12",FILE_TO_LIST_HELPURL:"",FILE_TO_LIST_TOOLTIP:"Read the text file content of the specified path (only in UTF-8 format) and converts it to a list format, separated by the selected separator.",FILE_TO_LIST_MESSAGE0:"convert the text file %1 to a list separated by %2",FILE_TO_BIN_HELPURL:"",FILE_TO_BIN_TOOLTIP:"Reads the contents of the file in the specified path in binary format.",FILE_TO_BIN_MESSAGE0:"read the binary content of file %1",MPYTHON_INIT_FILE_HELPURL:"",MPYTHON_INIT_FILE_TOOLTIP:"Initializes a text file, creates a file if it does not exist, and clears the content if it exists.",MPYTHON_INIT_FILE_MESSAGE0:"initialize text file %1",MPYTHON_WRITE_FILE_HELPURL:"",MPYTHON_WRITE_FILE_TOOLTIP:"Writes content to a text file of the specified path, and creates a file if the file does not exist.",MPYTHON_WRITE_FILE_MESSAGE0:"write content %2 to the text file %1 separated by %3",MPYTHON_SDCARD_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_INIT_TOOLTIP:"sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\nMake sure that the pins of the SPI bus are connected to the micro SD card which is formatted by using the FAT or FAT32 file system.",MPYTHON_SDCARD_INIT_MESSAGE0:"initialize SD card",MPYTHON_SDCARD_MOUNT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",MPYTHON_SDCARD_MOUNT_TOOLTIP:"Mount the SD card to the specified path.",MPYTHON_SDCARD_MOUNT_MESSAGE0:"mount SD card to path %1",MPYTHON_ENTER:"enter",MPYTHON_COMMA:"comma",MPYTHON_SEMICOLON:"semicolon",MPYTHON_SPACE:"space",mpython_def_clock_MESSAGE0:"initialize clock %1 x %2 y %3 radius %4",mpython_def_clock_TOOLTIP:"",mpython_settime_clock_MESSAGE0:"clock %1 read time",mpython_settime_clock_TOOLTIP:"",mpython_draw_clear_clock_MESSAGE0:"%1 clock %2",mpython_draw_clear_clock_TOOLTIP:"",mpython_tinywebio_start_MESSAGE0:"start TinyWebIO service, run in %1",mpython_tinywebio_start_TOOLTIP:"Wi-Fi is required to start the service, and the TinyWebIO service provides a remote control interface for the App Inventor application.",mpython_tinywebio_client_setup_HELPURL:"",mpython_tinywebio_client_setup_TOOLTIP:"Items send to the server (separated by comma)\nbuttona/b Button status\ntouchpadp/y/t/h/o/n Touch button value \nlight Light value\nsound Sound value\naccelerometer Triaxial acceleration value\nid the board identification \ntime timestamp \npind<n> digital IO pin \npina<n> analog IO pin\n----------\nItems read from the server (separated by comma)\nrgb0/ 1/2 RGB lamp bead \noled OLED display \nmusic music \nservo<n> steering gear \npind<n> digital IO pin \npina<n> analog IO pin",mpython_tinywebio_client_setup_MESSAGE0:"setup TinyWebIO client params %1 TinyWebDB server address %2 items send to the server %3 items read from the server %4 access server time interval(ms) %5",mpython_tinywebio_client_action_HELPURL:"",mpython_tinywebio_client_action_TOOLTIP:"",mpython_tinywebio_client_action_MESSAGE0:"%1 TinyWebIO client",mpython_tinywebio_client_action_start:"start",mpython_tinywebio_client_action_stop:"stop",MPYTHON_CUSTOM_CODE_HELPURL:"",MPYTHON_CUSTOM_CODE_TOOLTIP:"",MPYTHON_CUSTOM_CODE_MESSAGE0:"%1 custom code %2 %3",MPYTHON_CUSTOM_TYPE_IMPORT:"topping",MPYTHON_CUSTOM_TYPE_NORMAL:"normal",MPYTHON_CUSTOM_VALUE_MESSAGE0:"custom value %1",mpython_servo_angle0_MESSAGE0:"set the servo %1 angle as %2",mpython_servo_angle_MESSAGE0:"set the servo %1 angle as %2 pulse width from %3 us to %4 us actuation range as %5",mpython_servo_angle_TOOLTIP:"power cable Vcc (red) connected to expansion-board power port V, ground line GND (brown) connected to expansion-board ground port G, control signal line (orange) connected to selected expansion-board pins",mpython_dh11_hum_tem_MESSAGE0:"DHT11 %1 %2",mpython_dh11_hum_tem_TOOLTIP:'"+" on the DHT11 connects the power port of the expansion-board V, "-" connects the ground port of the expansion-board G, "out" connects the pin0 of the expansion-board',MPYTHON_DH22_HUM_TEM_MESSAGE0:"DHT22 %1 %2",MPYTHON_DH22_HUM_TEM_TOOLTIP:"",MPYTHON_DH22_HUM_TEM_HELPURL:"https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",mpython_music_note_MESSAGE0:"note %1 %2 : %3",mpython_music_note_TOOLTIP:"Note, such as C4:4",mpython_return_list_MESSAGE0:"define list %1 = %2",mpython_return_list_TOOLTIP:"",mpython_display_Show_MESSAGE0:"OLED setting take effect",mpython_display_Show_TOOLTIP:"",mpython_display_DispChar_MESSAGE0:"display text %3 at x %1 y %2 text mode %4 %5",mpython_display_DispChar_TOOLTIP:"OLED resolution 128x64",mpython_display_DispChar_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",mpython_display_DispChar_5lines_MESSAGE0:"OLED line %1 shows %2 text mode %3 %4",mpython_display_DispChar_5lines_TOOLTIP:"OLED resolution 128x64",mpython_line1:"1",mpython_line2:"2",mpython_line3:"3",mpython_line4:"4",mpython_line5:"5",MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0:"OLED clear line %1",MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP:"OLED resolution 128x64",MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL:"",mpython_display_fill_0:"clear",mpython_display_fill_1:"full bright",mpython_display_invert_0:"black background",mpython_display_invert_1:"white background",mpython_display_show:"show",mpython_display_fill_MESSAGE0:"OLED display %1",mpython_display_fill_TOOLTIP:"",mpython_display_pixel_0:"dark",mpython_display_pixel_1:"bright",mpython_display_pixel_MESSAGE0:"draw a point x %1 y %2 as %3",mpython_display_pixel_TOOLTIP:"",mpython_display_hline_0:"erase",mpython_display_hline_1:"draw",mpython_display_hline_MESSAGE0:"%1 horizontal line %2 x %3 y %4 length %5",mpython_display_hline_TOOLTIP:"",mpython_ProgressBar_MESSAGE0:"progress bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_ProgressBar_TOOLTIP:"",mpython_stripBar_MESSAGE0:"column bar %1 x %2 y %3 width %4 height %5 progress %6",mpython_stripBar_TOOLTIP:"",MPYTHON_QR_CODE_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",MPYTHON_QR_CODE_TOOLTIP:"",MPYTHON_QR_CODE_MESSAGE0:"display QR code %3 at x %1 y %2 with size %4",MPYTHON_DISPLAY_MODE_0:"erase",MPYTHON_DISPLAY_MODE_1:"draw",MPYTHON_DISPLAY_HOLLOW:"hollow",MPYTHON_DISPLAY_SOLID:"solid",MPYTHON_DISPLAY_HVLINE_MESSAGE0:"%1 %2 line %3 x %4 y %5 length %6",MPYTHON_DISPLAY_HVLINE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0:"%1 %2 rectangle %3 x %4 y %5 width %6 height %7",MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0:"%1 %2 circle %3 x %4 y %5 radius %6",MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP:"",MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0:"%1 %2 triangle %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP:"",MPYTHON_RGB_0:"0 #",MPYTHON_RGB_1:"1 #",MPYTHON_RGB_2:"2 #",MPYTHON_RGB_ALL:"all",MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0:"set %1 RGB light(s) color to %2",MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0:"set %1 RGB light(s) color to R%2 G%3 B%4",MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP:"1/30 of the original brightness can better display the color difference",MPYTHON_OFF_RGB_LIST_MESSAGE0:"turn off %1 RGB light(s)",MPYTHON_OFF_RGB_LIST_TOOLTIP:"",MPYTHON_MUSIC_PLAY_MESSAGE0:"play music %1 Pin %2",MPYTHON_MUSIC_PLAY_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0:"play music %1 until end, Pin %2",MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP:"Play the built-in music",MPYTHON_MUSIC_GE_CHANG_ZU_GUO:"GE_CHANG_ZU_GUO",MPYTHON_MUSIC_DONG_FANG_HONG:"DONG_FANG_HONG",MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE:"CAI_YUN_ZHUI_YUE",MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI:"ZOU_JIN_XIN_SHI_DAI",MPYTHON_MUSIC_MO_LI_HUA:"MO_LI_HUA",MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO:"YI_MENG_SHAN_XIAO_DIAO",mpython_display_vline_MESSAGE0:"%1 vertical line %2 x %3 y %4 length %5",mpython_display_vline_TOOLTIP:"",mpython_display_line_MESSAGE0:"%1 line %2 x1 %3 y1 %4 to x2 %5 y2 %6",mpython_display_line_TOOLTIP:"",mpython_display_rect_MESSAGE0:"%1 border %2 x %3 y %4 width %5 height %6",mpython_display_rect_TOOLTIP:"",mpython_display_RoundRect_MESSAGE0:"%1 arc border %2 x %3 y %4 width %5 height %6 radius %7",mpython_display_RoundRect_TOOLTIP:"",mpython_display_fill_rect_MESSAGE0:"%1 rectangle %2 x %3 y %4 width %5 height %6",mpython_display_fill_rect_TOOLTIP:"",mpython_display_fill_circle_MESSAGE0:"%1 solid circle %2 x %3 y %4 radius %5",mpython_display_fill_circle_TOOLTIP:"",mpython_display_circle_MESSAGE0:"%1 hollow circle %2 x %3 y %4 radius %5",mpython_display_circle_TOOLTIP:"",mpython_display_triangle_MESSAGE0:"%1 hollow triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_triangle_TOOLTIP:"",mpython_display_fill_triangle_MESSAGE0:"%1 solid triangle %2 x %3 y %4 x2 %5 y2 %6 x3 %7 y3 %8",mpython_display_fill_triangle_TOOLTIP:"",mpython_display_Bitmap_MESSAGE0:"%1 pattern x %2 y %3 width %4 height %5 with hex image data %6",mpython_display_Bitmap_TOOLTIP:"Display hex image data at a specified position on the OLED screen",MPYTHON_GET_PBM_DATA_MESSAGE0:"get inner image %1 Pattern %2",MPYTHON_GET_PBM_DATA_TOOLTIP:"Supports * .PBM or * .PBM format monochrome image files, retrieves image file data of specified path, and returns a tuple object",MPYTHON_GET_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0:"Get custom image%1 mode%2",MPYTHON_DISPLAY_PBM_DATA_MESSAGE0:"display image at x %1 y %2 with data %3",MPYTHON_DISPLAY_PBM_DATA_TOOLTIP:"Monochromatic image files supporting * .PBM or * .PBM formats",MPYTHON_DISPLAY_PBM_DATA_HELPURL:"https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",MPYTHON_BITMAP_FROM_FILE_MESSAGE0:"display image at x %1 y %2 with data %5 width %3 height %4",MPYTHON_BITMAP_FROM_FILE_TOOLTIP:"",MPYTHON_BITMAP_FROM_FILE_HELPURL:"",mpython_front:"front",mpython_reverse:"reverse",MPYTHON_FONT_DIGIFACE_11:"Digiface 11px",MPYTHON_FONT_DIGIFACE_16:"Digiface 16px",MPYTHON_FONT_DIGIFACE_21:"Digiface 21px",MPYTHON_FONT_DIGIFACE_30:"Digiface 30px",MPYTHON_FONT_DIGIFACE_44:"Digiface 44px",MPYTHON_FONT_DIGIFACE_IT_30:"Digiface Italic 30px",MPYTHON_FONT_DIGIFACE_IT_42:"Digiface Italic 42px",MPYTHON_FONT_DVSM_12:"DejaVu Sans Mono 12px",MPYTHON_FONT_DVSM_16:"DejaVu Sans Mono 16px",MPYTHON_FONT_DVSM_21:"DejaVu Sans Mono 21px",MPYTHON_FONT_DVSMB_12:"DejaVu Sans Mono Bold 12px",MPYTHON_FONT_DVSMB_16:"DejaVu Sans Mono Bold 16px",MPYTHON_FONT_DVSMB_21:"DejaVu Sans Mono Bold 21px",MPYTHON_FONT_WRAP:"auto wrap",MPYTHON_FONT_NO_WRAP:"no wrap",MPYTHON_FACE_1:"Heart",MPYTHON_FACE_2:"Small heart",MPYTHON_FACE_3:"Happy",MPYTHON_FACE_4:"Smile",MPYTHON_FACE_5:"Sad",MPYTHON_FACE_6:"Confused",MPYTHON_FACE_7:"Angry",MPYTHON_FACE_8:"Sleep",MPYTHON_FACE_9:"Surprise",MPYTHON_FACE_10:"Silly",MPYTHON_FACE_11:"Wonderful",MPYTHON_FACE_12:"Bored",MPYTHON_FACE_ROCK:"Rock",MPYTHON_FACE_PAPER:"Paper",MPYTHON_FACE_SCISSORS:"Scissors",MPYTHON_FACE_ROCK_S:"Small rock",MPYTHON_FACE_PAPER_S:"Small paper",MPYTHON_FACE_SCISSORS_S:"Small scissors",MPYTHON_DISPLAY_FONT_MESSAGE0:"display text %3 at x %1 y %2, using %4 font with %5",MPYTHON_DISPLAY_FONT_TOOLTIP:"",MPYTHON_DISPLAY_FONT_HELPURL:"",mpython_button_is_pressed_MESSAGE0:"button %1 is pressed",mpython_button_is_pressed_TOOLTIP:"",mpython_touchPad_value_MESSAGE0:"button %1 is touched",mpython_touchPad_value_TOOLTIP:"",mpython_touchPad_value_num_MESSAGE0:"button %1 touch value",mpython_touchPad_value_num_TOOLTIP:"",mpython_read_digital_MESSAGE0:"pin %1 digital value",mpython_read_digital_TOOLTIP:"",mpython_read_DS18B20_MESSAGE0:"DS18B20 waterproof temperature sensor at pin %1",mpython_read_DS18B20_TOOLTIP:"",mpython_read_DS18B20_HELPURL:"http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",mpython_set_digital_MESSAGE0:"set pin %2 digital value to %1",mpython_set_digital_TOOLTIP:"",mpython_read_analog_MESSAGE0:"pin %1 analog value",mpython_read_analog_TOOLTIP:"",mpython_set_analog_MESSAGE0:"set pin %2 analog value (PWM) to %1",mpython_set_analog_TOOLTIP:"The analog output is a pulse width modulated signal output through the IO pin, which outputs a specified voltage value, referred to as PWM.",mpython_set_RGB_MESSAGE0:"set %1 RGB light color to R %2 G %3 B %4",mpython_set_RGB_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_MESSAGE0:"set %1 RGB light color to %2",mpython_set_RGB_color_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_all_MESSAGE0:"set all RGB lights color to R %1 G %2 B %3",mpython_set_RGB_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_set_RGB_color_all_MESSAGE0:"set all RGB lights color to %1",mpython_set_RGB_color_all_TOOLTIP:"1/30 of the original brightness can better display the color difference",mpython_fresh_RGB_MESSAGE0:"RGB lights settings take effect",mpython_fresh_RGB_TOOLTIP:"",mpython_off_RGB_MESSAGE0:"turn off all RGB lights",mpython_off_RGB_TOOLTIP:"",mpython_buzz_state_MESSAGE0:"stop playing music",mpython_buzz_state_TOOLTIP:"",mpython_buzz_freq_MESSAGE0:"play continuous tone %1 at Pin %2",mpython_buzz_freq_TOOLTIP:"",mpython_buzz_tone_MESSAGE0:"play tone %1",mpython_buzz_tone_TOOLTIP:"",MPYTHON_MUSIC_TONE_TEMPO_HELPURL:"",MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP:"The default pin is P6 of the mPython board",MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0:"play musical note %1 at Pin %2",MPYTHON_MUSIC_TONE_HELPURL:"",MPYTHON_MUSIC_TONE_TOOLTIP:"",MPYTHON_MUSIC_TONE_MESSAGE0:"tone %1",MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL:"",MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP:"",MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0:"note %1 beat %2",MPYTHON_MUSIC_TICK_HELPURL:"",MPYTHON_MUSIC_TICK_TOOLTIP:"",MPYTHON_MUSIC_TICK_MESSAGE0:"beat %1",MPYTHON_4_LINES_HELPURL:"",MPYTHON_4_LINES_TOOLTIP:"",MPYTHON_4_LINES_MESSAGE0:"%1",NUMBER_1:"1",NUMBER_1_2:"1/2",NUMBER_1_4:"1/4",NUMBER_2:"2",NUMBER_4:"4",mpython_read_sound_MESSAGE0:"sound value",mpython_read_sound_TOOLTIP:"",mpython_read_light_MESSAGE0:"light value",mpython_read_light_TOOLTIP:"",mpython_accelerometer_get_MESSAGE0:"%1 axis acceleration",mpython_accelerometer_get_TOOLTIP:"",MPYTHON_ACCELEROMETER_RANGE_2G:"±2g",MPYTHON_ACCELEROMETER_RANGE_4G:"±4g",MPYTHON_ACCELEROMETER_RANGE_8G:"±8g",MPYTHON_ACCELEROMETER_RANGE_16G:"±16g",MPYTHON_ACCELEROMETER_RES_10_BIT:"10bits",MPYTHON_ACCELEROMETER_RES_12_BIT:"12bits",MPYTHON_ACCELEROMETER_RES_14_BIT:"14bits",MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP:"Set the acceleration range, the default is ±2g。",MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0:"set acceleration range to %1",MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP:"Set the acceleration resolution, the default is 10bits。",MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0:"set acceleration resolution to %1",MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP:"Calibrate the acceleration value deviation of the three axes (x, y, z) of the accelerometer.\nIn general, calibration is not required, and calibration is only required when the acceleration deviation is large.\nx , y , z are the adjustment deviation values, and the correction range is ±1g.\nNote: Calibration data will not be saved after power off.",MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0:"calibration acceleration value with %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4",MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0:"magnetic force of %1 axis",MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0:"get magnetic heading",MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0:"magnetic calibrate",MPYTHON_MAGNETIC_PEELING_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_PEELING_MESSAGE0:"magnetic peeling",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP:"Only applicable to mPython board 2.0 and above",MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0:"get magnetic field strength",MPYTHON_TILT_ANGLE_HELPURL:"",MPYTHON_TILT_ANGLE_TOOLTIP:"",MPYTHON_TILT_ANGLE_MESSAGE0:"%1 axis tilt angle",mpython_random_choice_MESSAGE0:"random item %1",mpython_random_choice_TOOLTIP:"Return a random item in a list or string in String format",MACHINE_TIME_PULSE_US_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.html?highlight=machine.time_pulse_us#machine.time_pulse_us",MACHINE_TIME_PULSE_US_MESSAGE0:"duration(us) of external %2 pulse level at %1",MACHINE_TIME_PULSE_US_TOOLTIP:"",BYTES:"bytes",MPYTHON_I2C_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_INIT_MESSAGE0:"init i2c with baudrate %1",MPYTHON_I2C_INIT_TOOLTIP:"",MPYTHON_I2C_DEV_INIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",MPYTHON_I2C_DEV_INIT_MESSAGE0:"init %1 SCL %2 SDA %3 baudrate %4",MPYTHON_I2C_DEV_INIT_TOOLTIP:"",MPYTHON_I2C_SCAN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",MPYTHON_I2C_SCAN_MESSAGE0:"%1 scan result",MPYTHON_I2C_SCAN_TOOLTIP:"Return an array object",MPYTHON_I2C_DEINIT_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",MPYTHON_I2C_DEINIT_MESSAGE0:"deinit %1",MPYTHON_I2C_DEINIT_TOOLTIP:"",MPYTHON_I2C_WRITETO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_WRITETO_MESSAGE0:"write to %1 %5 address %2 data %3 stop bit %4",MPYTHON_I2C_WRITETO_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_MESSAGE0:"read from %1 %5 address %2 bytes num %3 stop bit %4",MPYTHON_I2C_READFROM_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",MPYTHON_I2C_READFROM_INTO_MESSAGE0:"read from %1 %6 address %2 into %3 bytes num %4 stop bit %5",MPYTHON_I2C_READFROM_INTO_TOOLTIP:"",MPYTHON_I2C_WRITETO_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_WRITETO_MEN_MESSAGE0:"write to %1 %5 address %2 mem %4 data %3",MPYTHON_I2C_WRITETO_MEN_TOOLTIP:"Address: Number\nData: Number, String",MPYTHON_I2C_READFROM_MEN_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_MESSAGE0:"read from %1 %5 address %2 mem %4 bytes num %3",MPYTHON_I2C_READFROM_MEN_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MPYTHON_I2C_READFROM_MEN_INTO_HELPURL:"https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0:"read from %1 %6 address %2 mem %5 into %3 bytes num %4",MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP:"Address: Number\nReturn: Convert bytes data to string",MICROBIT_CONVERT_BYTEARRAY_HELPURL:"https://microbit-micropython.readthedocs.io/en/latest/i2c.html",MICROBIT_CONVERT_BYTEARRAY_TOOLTIP:"",MICROBIT_CONVERT_BYTEARRAY_MESSAGE0:"bytearray %1",AUTH:"Please authorize this app to enable your work to be saved and to allow it to be shared by you.",CHAT:"Chat with your collaborator by typing in this box!",TRY_EXCEPT_FINALLY:"finally",TRY_EXCEPT_FINALLY_TOOLTIP:"",TRY_EXCEPT_EXCEPT:"except",TRY_EXCEPT_EXCEPT_TOOLTIP:"",TRY_EXCEPT_TRY:"try",TRY_EXCEPT_TRY_TOOLTIP:"",TRY_EXCEPT_HELPURL:"https://mpythonx.readthedocs.io/zh_CN/latest/index.html",LISTS_POP_HELPURL:"",LISTS_POP_TOOLTIP:"",LISTS_POP_MESSAGE0:"remove %2 item in list %1",MATH_CONVERT_HELPURL:"",MATH_CONVERT_MESSAGE0:"%1 %2",MATH_CONVERT_TOOLTIP:"Conversion data type",MATH_DIVISION_CONSULT_HELPURL:"",MATH_DIVISION_CONSULT_TITLE:"the integer part of the quotient %1 ÷ %2",MATH_DIVISION_CONSULT_TOOLTIP:"",MATH_NUMBER_BITS_OPS_HELPURL:"",MATH_NUMBER_BITS_OPS_MESSAGE0:"%1 %2 %3",MATH_NUMBER_BITS_OPS_TOOLTIP:"Bitwise operations on numbers",ME:"Me",MPYTHON_PRINT_TO_CHART_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_EMPTY_TITLE:"print data to chart",MPYTHON_PRINT_TO_CHART_INPUT_WITH:"print data to chart",MPYTHON_PRINT_TO_CHART_ITEM_TITLE:"data",MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP:"",MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD:"data content",MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP:"",MPYTHON_INIT_CHART_TOOLTIP:"",MPYTHON_INIT_CHART_EMPTY_TITLE:"init chart column headers",MPYTHON_INIT_CHART_INPUT_WITH:"init chart column headers",MPYTHON_INIT_CHART_ITEM_TITLE:"header",MPYTHON_INIT_CHART_ITEM_TOOLTIP:"",MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD:"column header",MPYTHON_INIT_CHART_CONTAINER_TOOLTIP:"",MICROBIT_IMAGE_CREATE1_MESSAGE0:"create image %1 line 1 %2 line 2 %3 line 3 %4 line 4 %5 line 5 %6",MICROBIT_IMAGE_CREATE1_TOOLTIP:"Create new image.",MICROBIT_IMAGE_CREATE1_HELPURL:"",ADD_COMMENT:"Add Comment",CHANGE_VALUE_TITLE:"Change value:",COLLAPSE_ALL:"Collapse Blocks",COLLAPSE_BLOCK:"Collapse Block",COLOUR_BLEND_COLOUR1:"colour 1",COLOUR_BLEND_COLOUR2:"colour 2",COLOUR_BLEND_HELPURL:"http://meyerweb.com/eric/tools/color-blend/",COLOUR_BLEND_RATIO:"ratio",COLOUR_BLEND_TITLE:"blend",COLOUR_BLEND_TOOLTIP:"Blends two colours together with a given ratio (0.0 - 1.0).",COLOUR_PICKER_HELPURL:"https://en.wikipedia.org/wiki/Color",COLOUR_PICKER_TOOLTIP:"Choose a colour from the palette.",COLOUR_RANDOM_HELPURL:"http://randomcolour.com",COLOUR_RANDOM_TITLE:"random colour",COLOUR_RANDOM_TOOLTIP:"Choose a colour at random.",COLOUR_RGB_BLUE:"blue",COLOUR_RGB_GREEN:"green",COLOUR_RGB_HELPURL:"http://www.december.com/html/spec/colorper.html",COLOUR_RGB_RED:"red",COLOUR_RGB_TITLE:"colour with",COLOUR_RGB_TOOLTIP:"Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",CONTROLS_FLOW_STATEMENTS_HELPURL:"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:"break out of loop",CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:"continue with next iteration of loop",CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:"Break out of the containing loop.",CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:"Skip the rest of this loop, and continue with the next iteration.",CONTROLS_FLOW_STATEMENTS_WARNING:"Warning: This block may only be used within a loop.",CONTROLS_FOREACH_HELPURL:"https://github.com/google/blockly/wiki/Loops#for-each",CONTROLS_FOREACH_TITLE:"for each item %1 in list %2",CONTROLS_FOREACH_TOOLTIP:"For each item in a list, set the variable '%1' to the item, and then do some statements.",CONTROLS_FOR_HELPURL:"https://github.com/google/blockly/wiki/Loops#count-with",CONTROLS_FOR_TITLE:"count with %1 from %2 to %3 by %4",CONTROLS_FOR_TOOLTIP:"Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.",CONTROLS_IF_ELSEIF_TOOLTIP:"Add a condition to the if block.",CONTROLS_IF_ELSE_TOOLTIP:"Add a final, catch-all condition to the if block.",CONTROLS_IF_HELPURL:"https://github.com/google/blockly/wiki/IfElse",CONTROLS_IF_IF_TOOLTIP:"Add, remove, or reorder sections to reconfigure this if block.",CONTROLS_IF_MSG_ELSE:"else",CONTROLS_IF_MSG_ELSEIF:"else if",CONTROLS_IF_MSG_IF:"if",CONTROLS_IF_TOOLTIP_1:"If a value is true, then do some statements.",CONTROLS_IF_TOOLTIP_2:"If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",CONTROLS_IF_TOOLTIP_3:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.",CONTROLS_IF_TOOLTIP_4:"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.",CONTROLS_REPEAT_HELPURL:"https://en.wikipedia.org/wiki/For_loop",CONTROLS_REPEAT_INPUT_DO:"",CONTROLS_REPEAT_TITLE:"repeat %1 times",CONTROLS_REPEAT_TOOLTIP:"Do some statements several times.",CONTROLS_WHILEUNTIL_HELPURL:"https://github.com/google/blockly/wiki/Loops#repeat",CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:"repeat until",CONTROLS_WHILEUNTIL_OPERATOR_WHILE:"repeat while",CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:"While a value is false, then do some statements.",CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:"While a value is true, then do some statements.",DELETE_BLOCK:"Delete Block",DELETE_X_BLOCKS:"Delete %1 Blocks",DISABLE_BLOCK:"Disable Block",DUPLICATE_BLOCK:"Duplicate",ENABLE_BLOCK:"Enable Block",EXPAND_ALL:"Expand Blocks",EXPAND_BLOCK:"Expand Block",EXTERNAL_INPUTS:"External Inputs",HELP:"Help",INLINE_INPUTS:"Inline Inputs",LISTS_CREATE_EMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-empty-list",LISTS_CREATE_EMPTY_TITLE:"create empty list",LISTS_CREATE_EMPTY_TOOLTIP:"Returns a list, of length 0, containing no data records",LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:"list",LISTS_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this list block.",SET_CREATE_WITH_CONTAINER_TOOLTIP:"Add, remove, or reorder sections to reconfigure this set block.",LISTS_CREATE_WITH_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_CREATE_WITH_INPUT_WITH:"create list with",LISTS_CREATE_WITH_ITEM_TOOLTIP:"Add an item to the list.",LISTS_CREATE_WITH_TOOLTIP:"Create a list with any number of items.",LISTS_GET_INDEX_FIRST:"first",LISTS_GET_INDEX_FROM_END:"# from end",LISTS_GET_INDEX_FROM_START:"#",LISTS_GET_INDEX_GET:"get",LISTS_GET_INDEX_GET_REMOVE:"get and remove",LISTS_GET_INDEX_LAST:"last",LISTS_GET_INDEX_RANDOM:"random",LISTS_GET_INDEX_REMOVE:"remove",LISTS_GET_INDEX_TAIL:"",LISTS_GET_INDEX_TOOLTIP_GET_FIRST:"Returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_END:"Returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_FROM_START:"Returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_LAST:"Returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:"Returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:"Removes and returns the first item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END:"Removes and returns the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START:"Removes and returns the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:"Removes and returns the last item in a list.",LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:"Removes and returns a random item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:"Removes the first item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END:"Removes the item at the specified position in a list. #1 is the last item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START:"Removes the item at the specified position in a list. #1 is the first item.",LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:"Removes the last item in a list.",LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:"Removes a random item in a list.",LISTS_GET_SUBLIST_END_FROM_END:"to # from end",LISTS_GET_SUBLIST_END_FROM_START:"to #",LISTS_GET_SUBLIST_END_LAST:"to last",LISTS_GET_SUBLIST_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-a-sublist",LISTS_GET_SUBLIST_START_FIRST:"get sub-list from first",LISTS_GET_SUBLIST_START_FROM_END:"get sub-list from # from end",LISTS_GET_SUBLIST_START_FROM_START:"get sub-list from #",LISTS_GET_SUBLIST_TAIL:"",LISTS_GET_SUBLIST_TOOLTIP:"Creates a copy of the specified portion of a list.",LISTS_INDEX_OF_FIRST:"find first occurrence of item",LISTS_INDEX_OF_HELPURL:"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",LISTS_INDEX_OF_LAST:"find last occurrence of item",LISTS_INDEX_OF_TOOLTIP:"Returns the index of the first/last occurrence of the item in the list. Returns 0 if text is not found.",LISTS_INLIST:"in list",LISTS_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Lists#is-empty",LISTS_ISEMPTY_TITLE:"%1 is empty",LISTS_ISEMPTY_TOOLTIP:"Returns true if the list is empty.",LISTS_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Lists#length-of",LISTS_LENGTH_TITLE:"length of %1",LISTS_LENGTH_TOOLTIP:"Returns the length of a list.",LISTS_REPEAT_HELPURL:"https://github.com/google/blockly/wiki/Lists#create-list-with",LISTS_REPEAT_TITLE:"create list with item %1 repeated %2 times",LISTS_REPEAT_TOOLTIP:"Creates a list consisting of the given value repeated the specified number of times.",LISTS_SET_INDEX_HELPURL:"https://github.com/google/blockly/wiki/Lists#in-list--set",LISTS_SET_INDEX_INPUT_TO:"as",LISTS_SET_INDEX_INSERT:"insert at",LISTS_SET_INDEX_SET:"set",LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:"Inserts the item at the start of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END:"Inserts the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START:"Inserts the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:"Append the item to the end of a list.",LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:"Inserts the item randomly in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FIRST:"Sets the first item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_END:"Sets the item at the specified position in a list. #1 is the last item.",LISTS_SET_INDEX_TOOLTIP_SET_FROM_START:"Sets the item at the specified position in a list. #1 is the first item.",LISTS_SET_INDEX_TOOLTIP_SET_LAST:"Sets the last item in a list.",LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:"Sets a random item in a list.",LISTS_SPLIT_HELPURL:"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",LISTS_SPLIT_LIST_FROM_TEXT:"make list from text",LISTS_SPLIT_TEXT_FROM_LIST:"make text from list",LISTS_SPLIT_TOOLTIP_JOIN:"Join a list of texts into one text, separated by a delimiter.",LISTS_SPLIT_TOOLTIP_SPLIT:"Split text into a list of texts, breaking at each delimiter.",LISTS_SPLIT_WITH_DELIMITER:"with delimiter",LOGIC_BOOLEAN_FALSE:"false",LOGIC_BOOLEAN_HELPURL:"https://github.com/google/blockly/wiki/Logic#values",LOGIC_BOOLEAN_TOOLTIP:"Returns either true or false.",LOGIC_BOOLEAN_TRUE:"true",LOGIC_COMPARE_HELPURL:"https://en.wikipedia.org/wiki/Inequality_(mathematics)",LOGIC_COMPARE_TOOLTIP_EQ:"Return true if both inputs equal each other.",LOGIC_COMPARE_TOOLTIP_GT:"Return true if the first input is greater than the second input.",LOGIC_COMPARE_TOOLTIP_GTE:"Return true if the first input is greater than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_LT:"Return true if the first input is smaller than the second input.",LOGIC_COMPARE_TOOLTIP_LTE:"Return true if the first input is smaller than or equal to the second input.",LOGIC_COMPARE_TOOLTIP_NEQ:"Return true if both inputs are not equal to each other.",LOGIC_NEGATE_HELPURL:"https://github.com/google/blockly/wiki/Logic#not",LOGIC_NEGATE_TITLE:"not %1",LOGIC_NEGATE_TOOLTIP:"Returns true if the input is false. Returns false if the input is true.",LOGIC_NULL:"null",LOGIC_NULL_HELPURL:"https://en.wikipedia.org/wiki/Nullable_type",LOGIC_NULL_TOOLTIP:"Returns null.",LOGIC_OPERATION_AND:"and",LOGIC_OPERATION_HELPURL:"https://github.com/google/blockly/wiki/Logic#logical-operations",LOGIC_OPERATION_OR:"or",LOGIC_OPERATION_TOOLTIP_AND:"Return true if both inputs are true.",LOGIC_OPERATION_TOOLTIP_OR:"Return true if at least one of the inputs is true.",LOGIC_TERNARY_CONDITION:"test",LOGIC_TERNARY_HELPURL:"https://en.wikipedia.org/wiki/%3F:",LOGIC_TERNARY_IF_FALSE:"if false",LOGIC_TERNARY_IF_TRUE:"if true",LOGIC_TERNARY_TOOLTIP:"Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",MATH_ADDITION_SYMBOL:"+",MATH_ARITHMETIC_HELPURL:"https://en.wikipedia.org/wiki/Arithmetic",MATH_ARITHMETIC_TOOLTIP_ADD:"Return the sum of the two numbers.",MATH_ARITHMETIC_TOOLTIP_DIVIDE:"Return the quotient of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MINUS:"Return the difference of the two numbers.",MATH_ARITHMETIC_TOOLTIP_MULTIPLY:"Return the product of the two numbers.",MATH_ARITHMETIC_TOOLTIP_POWER:"Return the first number raised to the power of the second number.",MATH_CHANGE_HELPURL:"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",MATH_CHANGE_TITLE:"change %1 by %2",MATH_CHANGE_TOOLTIP:"Add a number to variable '%1'.",MATH_CONSTANT_HELPURL:"https://en.wikipedia.org/wiki/Mathematical_constant",MATH_CONSTANT_TOOLTIP:"Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).",MATH_CONSTRAIN_HELPURL:"https://en.wikipedia.org/wiki/Clamping_%28graphics%29",MATH_CONSTRAIN_TITLE:"constrain %1 low %2 high %3",MATH_CONSTRAIN_TOOLTIP:"Constrain a number to be between the specified limits (inclusive).",MATH_DIVISION_SYMBOL:"÷",MATH_IS_DIVISIBLE_BY:"is divisible by",MATH_IS_EVEN:"is even",MATH_IS_NEGATIVE:"is negative",MATH_IS_ODD:"is odd",MATH_IS_POSITIVE:"is positive",MATH_IS_PRIME:"is prime",MATH_IS_TOOLTIP:"Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.",MATH_IS_WHOLE:"is whole",MATH_MODULO_HELPURL:"https://en.wikipedia.org/wiki/Modulo_operation",MATH_MODULO_TITLE:"remainder of %1 ÷ %2",MATH_MODULO_TOOLTIP:"Return the remainder from dividing the two numbers.",MATH_MULTIPLICATION_SYMBOL:"×",MATH_NUMBER_HELPURL:"https://en.wikipedia.org/wiki/Number",MATH_NUMBER_TOOLTIP:"A number.",MATH_ONLIST_HELPURL:"",MATH_ONLIST_OPERATOR_AVERAGE:"average of list",MATH_ONLIST_OPERATOR_MAX:"max of list",MATH_ONLIST_OPERATOR_MEDIAN:"median of list",MATH_ONLIST_OPERATOR_MIN:"min of list",MATH_ONLIST_OPERATOR_MODE:"modes of list",MATH_ONLIST_OPERATOR_RANDOM:"random item of list",MATH_ONLIST_OPERATOR_STD_DEV:"standard deviation of list",MATH_ONLIST_OPERATOR_SUM:"sum of list",MATH_ONLIST_TOOLTIP_AVERAGE:"Return the average (arithmetic mean) of the numeric values in the list.",MATH_ONLIST_TOOLTIP_MAX:"Return the largest number in the list.",MATH_ONLIST_TOOLTIP_MEDIAN:"Return the median number in the list.",MATH_ONLIST_TOOLTIP_MIN:"Return the smallest number in the list.",MATH_ONLIST_TOOLTIP_MODE:"Return a list of the most common item(s) in the list.",MATH_ONLIST_TOOLTIP_RANDOM:"Return a random element from the list.",MATH_ONLIST_TOOLTIP_STD_DEV:"Return the standard deviation of the list.",MATH_ONLIST_TOOLTIP_SUM:"Return the sum of all the numbers in the list.",MATH_POWER_SYMBOL:"**",MATH_RANDOM_FLOAT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_FLOAT_TITLE_RANDOM:"random fraction",MATH_RANDOM_FLOAT_TOOLTIP:"Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",MATH_RANDOM_INT_HELPURL:"https://en.wikipedia.org/wiki/Random_number_generation",MATH_RANDOM_INT_TITLE:"random integer from %1 to %2",MATH_RANDOM_INT_TOOLTIP:"Return a random integer between the two specified limits, inclusive.",MATH_ROUND_HELPURL:"https://en.wikipedia.org/wiki/Rounding",MATH_ROUND_OPERATOR_ROUND:"round",MATH_ROUND_OPERATOR_ROUNDDOWN:"round down",MATH_ROUND_OPERATOR_ROUNDUP:"round up",MATH_ROUND_TOOLTIP:"Round a number up or down.",MATH_SINGLE_HELPURL:"https://en.wikipedia.org/wiki/Square_root",MATH_SINGLE_OP_ABSOLUTE:"absolute",MATH_SINGLE_OP_ROOT:"square root",MATH_SINGLE_TOOLTIP_ABS:"Return the absolute value of a number.",MATH_SINGLE_TOOLTIP_EXP:"Return e to the power of a number.",MATH_SINGLE_TOOLTIP_LN:"Return the natural logarithm of a number.",MATH_SINGLE_TOOLTIP_LOG10:"Return the base 10 logarithm of a number.",MATH_SINGLE_TOOLTIP_NEG:"Return the negation of a number.",MATH_SINGLE_TOOLTIP_POW10:"Return 10 to the power of a number.",MATH_SINGLE_TOOLTIP_ROOT:"Return the square root of a number.",MATH_SUBTRACTION_SYMBOL:"-",MATH_TRIG_ACOS:"acos",MATH_TRIG_ASIN:"asin",MATH_TRIG_ATAN:"atan",MATH_TRIG_COS:"cos",MATH_TRIG_HELPURL:"https://en.wikipedia.org/wiki/Trigonometric_functions",MATH_TRIG_SIN:"sin",MATH_TRIG_TAN:"tan",MATH_TRIG_TOOLTIP_ACOS:"Return the arccosine of a number.",MATH_TRIG_TOOLTIP_ASIN:"Return the arcsine of a number.",MATH_TRIG_TOOLTIP_ATAN:"Return the arctangent of a number.",MATH_TRIG_TOOLTIP_COS:"Return the cosine of a degree (not radian).",MATH_TRIG_TOOLTIP_SIN:"Return the sine of a degree (not radian).",MATH_TRIG_TOOLTIP_TAN:"Return the tangent of a degree (not radian).",NEW_VARIABLE:"New variable...",NEW_VARIABLE_TITLE:"New variable name:",ORDINAL_NUMBER_SUFFIX:"",PROCEDURES_ALLOW_STATEMENTS:"allow statements",PROCEDURES_BEFORE_PARAMS:"with:",PROCEDURES_CALLNORETURN_CALL:"",PROCEDURES_CALLNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLNORETURN_TOOLTIP:"Run the user-defined function '%1'.",PROCEDURES_CALLRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_CALLRETURN_TOOLTIP:"Run the user-defined function '%1' and use its output.",PROCEDURES_CALL_BEFORE_PARAMS:"with:",PROCEDURES_CREATE_DO:"Create '%1'",PROCEDURES_DEFNORETURN_COMMENT:"",PROCEDURES_DEFNORETURN_DO:"",PROCEDURES_DEFNORETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFNORETURN_PROCEDURE:"my_func",PROCEDURES_DEFNORETURN_TITLE:"to",PROCEDURES_DEFNORETURN_TOOLTIP:"Creates a function with no output.",PROCEDURES_DEFRETURN_HELPURL:"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",PROCEDURES_DEFRETURN_RETURN:"return",PROCEDURES_DEFRETURN_TOOLTIP:"Creates a function with an output.",PROCEDURES_DEF_DUPLICATE_WARNING:"Warning: This function has duplicate parameters.",PROCEDURES_HIGHLIGHT_DEF:"Highlight function definition",PROCEDURES_IFRETURN_TOOLTIP:"If a value is true, then return a second value.",PROCEDURES_IFRETURN_WARNING:"Warning: This block may be used only within a function definition.",PROCEDURES_MUTATORARG_TITLE:"input name:",PROCEDURES_MUTATORARG_TOOLTIP:"Add an input to the function.",PROCEDURES_MUTATORCONTAINER_TITLE:"inputs",PROCEDURES_MUTATORCONTAINER_TOOLTIP:"Add, remove, or reorder inputs to this function.",REMOVE_COMMENT:"Remove Comment",RENAME_VARIABLE:"Rename variable...",RENAME_VARIABLE_TITLE:"Rename all '%1' variables to:",TEXT_APPEND_APPENDTEXT:"append text",TEXT_APPEND_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_APPEND_TO:"to",TEXT_APPEND_TOOLTIP:"Append some text to variable '%1'.",TEXT_CHANGECASE_HELPURL:"https://github.com/google/blockly/wiki/Text#adjusting-text-case",TEXT_CHANGECASE_OPERATOR_LOWERCASE:"to lower case",TEXT_CHANGECASE_OPERATOR_TITLECASE:"to Title Case",TEXT_CHANGECASE_OPERATOR_UPPERCASE:"to UPPER CASE",TEXT_CHANGECASE_TOOLTIP:"Return a copy of the text in a different case.",TEXT_CHARAT_FIRST:"get first letter",TEXT_CHARAT_FROM_END:"get letter # from end",TEXT_CHARAT_FROM_START:"get letter #",TEXT_CHARAT_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-text",TEXT_CHARAT_INPUT_INTEXT:"in text",TEXT_CHARAT_LAST:"get last letter",TEXT_CHARAT_RANDOM:"get random letter",TEXT_CHARAT_TAIL:"",TEXT_CHARAT_TOOLTIP:"Returns the letter at the specified position.",TEXT_CREATE_JOIN_ITEM_TOOLTIP:"Add an item to the text.",TEXT_CREATE_JOIN_TITLE_JOIN:"join",TEXT_CREATE_JOIN_TOOLTIP:"Add, remove, or reorder sections to reconfigure this text block.",TEXT_GET_SUBSTRING_END_FROM_END:"to letter # from end",TEXT_GET_SUBSTRING_END_FROM_START:"to letter #",TEXT_GET_SUBSTRING_END_LAST:"to last letter",TEXT_GET_SUBSTRING_HELPURL:"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",TEXT_GET_SUBSTRING_INPUT_IN_TEXT:"in text",TEXT_GET_SUBSTRING_START_FIRST:"get substring from first letter",TEXT_GET_SUBSTRING_START_FROM_END:"get substring from letter # from end",TEXT_GET_SUBSTRING_START_FROM_START:"get substring from letter #",TEXT_GET_SUBSTRING_TAIL:"",TEXT_GET_SUBSTRING_TOOLTIP:"Returns a specified portion of the text.",TEXT_INDEXOF_HELPURL:"https://github.com/google/blockly/wiki/Text#finding-text",TEXT_INDEXOF_INPUT_INTEXT:"in text",TEXT_INDEXOF_OPERATOR_FIRST:"find first occurrence of text",TEXT_INDEXOF_OPERATOR_LAST:"find last occurrence of text",TEXT_INDEXOF_TAIL:"",TEXT_INDEXOF_TOOLTIP:"Returns the index of the first/last occurrence of first text in the second text. Returns 0 if text is not found.",TEXT_ISEMPTY_HELPURL:"https://github.com/google/blockly/wiki/Text#checking-for-empty-text",TEXT_ISEMPTY_TITLE:"%1 is empty",TEXT_ISEMPTY_TOOLTIP:"Returns true if the provided text is empty.",TEXT_JOIN_HELPURL:"https://github.com/google/blockly/wiki/Text#text-creation",TEXT_JOIN_TITLE_CREATEWITH:"create text with",TEXT_JOIN_TOOLTIP:"Create a piece of text by joining together any number of items.",TEXT_LENGTH_HELPURL:"https://github.com/google/blockly/wiki/Text#text-modification",TEXT_LENGTH_TITLE:"length of %1",TEXT_LENGTH_TOOLTIP:"Returns the number of letters (including spaces) in the provided text.",TEXT_PRINT_HELPURL:"https://github.com/google/blockly/wiki/Text#printing-text",TEXT_PRINT_TITLE:"print %1",TEXT_PRINT_TOOLTIP:"Print the specified text, number or other value.",TEXT_PROMPT_HELPURL:"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",TEXT_PROMPT_TOOLTIP_NUMBER:"Prompt for user for a number.",TEXT_PROMPT_TOOLTIP_TEXT:"Prompt for user for some text.",TEXT_PROMPT_TYPE_NUMBER:"prompt for number with message",TEXT_PROMPT_TYPE_TEXT:"prompt for text with message",TEXT_TEXT_HELPURL:"https://en.wikipedia.org/wiki/String_(computer_science)",TEXT_TEXT_TOOLTIP:"A letter, word, or line of text.",TEXT_TRIM_HELPURL:"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",TEXT_TRIM_OPERATOR_BOTH:"trim spaces from both sides of",TEXT_TRIM_OPERATOR_LEFT:"trim spaces from left side of",TEXT_TRIM_OPERATOR_RIGHT:"trim spaces from right side of",TEXT_TRIM_TOOLTIP:"Return a copy of the text with spaces removed from one or both ends.",TODAY:"Today",VARIABLES_DEFAULT_NAME:"item",VARIABLES_GET_CREATE_SET:"Create 'set %1'",VARIABLES_GET_HELPURL:"https://github.com/google/blockly/wiki/Variables#get",VARIABLES_GET_TOOLTIP:"Returns the value of this variable.",VARIABLES_SET:"set %1 to %2",VARIABLES_SET_CREATE_GET:"Create 'get %1'",VARIABLES_SET_HELPURL:"https://github.com/google/blockly/wiki/Variables#set",VARIABLES_SET_TOOLTIP:"Sets this variable to be equal to the input."};pF.PROCEDURES_DEFRETURN_TITLE=pF.PROCEDURES_DEFNORETURN_TITLE,pF.CONTROLS_IF_IF_TITLE_IF=pF.CONTROLS_IF_MSG_IF,pF.CONTROLS_WHILEUNTIL_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.CONTROLS_IF_MSG_THEN=pF.CONTROLS_REPEAT_INPUT_DO,pF.PROCEDURES_DEFRETURN_PROCEDURE=pF.PROCEDURES_DEFNORETURN_PROCEDURE,pF.CONTROLS_IF_ELSE_TITLE_ELSE=pF.CONTROLS_IF_MSG_ELSE,pF.PROCEDURES_CALLRETURN_CALL=pF.PROCEDURES_CALLNORETURN_CALL,pF.LISTS_GET_SUBLIST_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_GET_INDEX_INPUT_IN_LIST=pF.LISTS_INLIST,pF.MATH_CHANGE_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.PROCEDURES_DEFRETURN_DO=pF.PROCEDURES_DEFNORETURN_DO,pF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=pF.CONTROLS_IF_MSG_ELSEIF,pF.LISTS_GET_INDEX_HELPURL=pF.LISTS_INDEX_OF_HELPURL,pF.CONTROLS_FOREACH_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.CONTROLS_FOR_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.LISTS_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_APPEND_VARIABLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.LISTS_INDEX_OF_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_SET_INDEX_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TUPLE_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.DICT_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.SET_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_APPEND_VARIABLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.MATH_CHANGE_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.LABPLUS_USB_SWITCH_ON="turn on",pF.LABPLUS_USB_SWITCH_OFF="turn off",pF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="toggle",pF.XUNFEI_SPEECH_TTS_HELPURL="",pF.XUNFEI_SPEECH_TTS_TOOLTIP='The synthesized audio file format can only be "*.pcm"',pF.XUNFEI_SPEECH_TTS_MESSAGE0="[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6",pF.XUNFEI_SPEECH_IAT_HELPURL="",pF.XUNFEI_SPEECH_IAT_TOOLTIP='The audio formats that can be recognized are "*.pcm" and "*.wav"',pF.XUNFEI_SPEECH_IAT_MESSAGE0="[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5",pF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",pF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",pF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[iFLYTEK] identify result",pF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="LARK I2C RGB color",pF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="Returns as list",pF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",pF.MPYTHON_LARK_GET_COLOR_MESSAGE0="LARK I2C RGB color %1",pF.MPYTHON_lARK_RED="RED",pF.MPYTHON__LARK_GREEN="GREEN",pF.MPYTHON__LARK_BLUE="BLUE",pF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="LARK I2C HSV color",pF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="LARK I2C HSV color %1",pF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",pF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="LARK GET COLOR",pF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",pF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="LARK GET COLOR %1",pF.MPYTHON_LARK_RED="RED",pF.MPYTHON_LARK_GREEN="GREEN",pF.MPYTHON_LARK_BLUE="BLUE",pF.MPYTHON_LARK_ORANGE="ORANGE",pF.MPYTHON_LARK_YELLOW="YELLOW",pF.MPYTHON_LARK_PURPLE="PURPLE",pF.MPYTHON_LARK_CYAN="CYAN",pF.MPYTHON_LARK_NONE="NO COLOR",pF.MPYTHON_LARK_NULL="FAIL THE COLOR",pF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",pF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="LARK I2C ultrasonic value",pF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="LARK I2C SET MOTOR %1 SPEED %2",pF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="SWIFT HORSE %1 速度 %2",pF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="LARK I2C GET %1 VALUE",pF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="RIGHT",pF.mpython_LARK_GET_LINE_LEFT_ON_I2C="LEFT",pF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="LARK I2C SEARCH TOUCH LINE %1",pF.MPYTHON_LARK_SEARCH_LEFT="LEFT",pF.MPYTHON_LARK_SEARCH_RIGHT="RIGHT",pF.MPYTHON_LARK_SEARCH_LEFT2="ALL",pF.MPYTHON_LARK_SEARCH_RIGHT2="NOT",pF.MPYTHON_LARK_SEARCH_BOTH="ALL",pF.MPYTHON_LARK_SEARCH_NONE="NOT",pF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",pF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="HORSE GET COLOR",pF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",pF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="HORSE GET COLOR %1",pF.MPYTHON_lARK_CAR_RED="RED",pF.MPYTHON__LARK_CAR_GREEN="GREEN",pF.MPYTHON__LARK_CAR_BLUE="BLUE",pF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="HORSE I2C HSV color",pF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="HORSE I2C HSV %1",pF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",pF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="HORSE GET COLOR",pF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",pF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="HORSE GET %1",pF.MPYTHON_LARK_CAR_RED="RED",pF.MPYTHON_LARK_CAR_GREEN="Green",pF.MPYTHON_LARK_CAR_BLUE="Blue",pF.MPYTHON_LARK_CAR_ORANGE="Orange",pF.MPYTHON_LARK_CAR_YELLOW="Yellow",pF.MPYTHON_LARK_CAR_PURPLE="Purple",pF.MPYTHON_LARK_CAR_CYAN="Cyan",pF.MPYTHON_LARK_CAR_NONE="None",pF.MPYTHON_LARK_CAR_NULL="Null",pF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",pF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="Horse Get Ultrasoinc",pF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="HORSE GET %1 LINE VALUE",pF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="RIGHT",pF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="LEFT",pF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="HORSE I2C SEARCH TOUCH LINE %1",pF.MPYTHON_LARK_CAR_SEARCH_LEFT="LEFT TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_RIGHT="RIGHT TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_LEFT2="BOTH TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_NONE="NOT TOUCHED",pF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="HOSRE MOTION %1 SPEED %2",pF.MPYTHON_LARK_CAR_MOTION_LEFT="Trun Left",pF.MPYTHON_LARK_CAR_MOTION_RIGHT="Trun Right",pF.MPYTHON_LARK_CAR_MOTION_FORWARD="forward",pF.MPYTHON_LARK_CAR_MOTION_BACKWARD="Backward",pF.MPYTHON_LARK_CAR_MOTION_STOP="Stop",pF.MPYTHON_DEFINE_THREAD_MESSAGE0="define thread %1",pF.MPYTHON_RUN_THREAD_MESSAGE0="run thread %1",pF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) convert number to bytes %1 %2 %3 %4 source number %5",pF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) unpack bytes to number %1 %2 %3 %4 source bytes %5",pF.LITTLE_ENDIAN="Little-Endian (Default)",pF.BIG_ENDIAN="Big-Endian",pF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[mPython 2.x] When board is %1",pF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",pF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="tilt left",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="tilt right",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="tilt up",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="tilt down",pF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="face up",pF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="face down",pF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="single click",pF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="double click",pF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="freefall",pF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="roll angle",pF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="pitch angle",pF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",pF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",pF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="Get %1",pF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",pF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",pF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="Button %1 is pressed",pF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",pF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",pF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="Button %1 was pressed",pF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",pF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",pF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="Get number of presses for button %1",pF.MPYTHON2_BUTTON_EVENT_MESSAGE0="When button %1 is %2",pF.MPYTHON2_BUTTON_EVENT_HELPURL="",pF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",pF.MPYTHON2_BUTTON_EVENT_PRESSED="pressed",pF.MPYTHON2_BUTTON_EVENT_RELEASED="released",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="Touchpad %1 is pressed",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="Touchpad %1 was pressed",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="Get number of presses for touchpad %1",pF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",pF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="Touchpad %1 value",pF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="When touchpad %1 is %2",pF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",pF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="pressed",pF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="released",pF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="Set threshold for touchpad %1 as %2",pF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",pF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",pF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",pF.BLE_UUID_TOOLTIP="",pF.BLE_SETUP_PERIPHERAL_HELPURL="",pF.BLE_SETUP_PERIPHERAL_TOOLTIP="",pF.BLE_SETUP_PERIPHERAL_MESSAGE0="make BLE Peripheral object with %1 name %2 Service UUID %3",pF.BLE_ADD_CHARACTERISTIC_HELPURL="",pF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",pF.BLE_ADD_CHARACTERISTIC_MESSAGE0="add BLE Characteristic %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",pF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",pF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",pF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE Peripheral %1",pF.BLE_START_BROADCASTING="start broadcasting",pF.BLE_STOP_BROADCASTING="stop broadcasting",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="read BLE Peripheral Characteristic %1",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="write BLE Peripheral Characteristic %1 %2 value %3 Notify %4",pF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",pF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",pF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE Peripheral disconnect",pF.BLE_PERIPHERAL_MAC_HELPURL="",pF.BLE_PERIPHERAL_MAC_TOOLTIP="",pF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE Peripheral MAC address",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="when BLE Peripheral connect to Centeral %1 connect handle %2 address type %3 Centeral MAC %4",pF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",pF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",pF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="when BLE Characteristic is overwritten %1 connect handle %2 attrubute handle %3 written data %4",pF.BLE_SETUP_CENTERAL_HELPURL="",pF.BLE_SETUP_CENTERAL_TOOLTIP="",pF.BLE_SETUP_CENTERAL_MESSAGE0="make BLE Centeral object with name %1",pF.BLE_CENTERAL_CONNECT_HELPURL="",pF.BLE_CENTERAL_CONNECT_TOOLTIP="",pF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE Centeral connect to %1 %2",pF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",pF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",pF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE Centeral is connected ?",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="set %1 as connected Peripheral Characteristic object %2 Service UUID %3 Characteristic UUID %4",pF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",pF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",pF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="read connected Peripheral Characteristic %1 value",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="write connected Peripheral Characteristic %1 value as %2",pF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",pF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",pF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="when received Notify data %1 value handle %2 notify data %3",pF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",pF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",pF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="connected Peripheral info %1",pF.BLE_CENTERAL_CLOSE_HELPURL="",pF.BLE_CENTERAL_CLOSE_TOOLTIP="",pF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE Centeral disconnect",pF.BLE_INFO_NAME="name",pF.BLE_INFO_MAC="mac",pF.BLE_INFO_RSSI="rssi",pF.BLE_INFO_ADDRTYPE="addr_type",pF.BLE_INFO_ADVTYPE="adv_type",pF.BLE_INFO_DATA="data(tuple)",pF.BLE_SETUP_UART_HELPURL="",pF.BLE_SETUP_UART_TOOLTIP="",pF.BLE_SETUP_UART_MESSAGE0="make BLE UART slave with name %1",pF.BLE_UART_IS_CONNECTED_HELPURL="",pF.BLE_UART_IS_CONNECTED_TOOLTIP="",pF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART is connected ?",pF.BLE_UART_ANY_HELPURL="",pF.BLE_UART_ANY_TOOLTIP="",pF.BLE_UART_ANY_MESSAGE0="BLE UART readable bytes",pF.BLE_UART_IRQ_HELPURL="",pF.BLE_UART_IRQ_TOOLTIP="",pF.BLE_UART_IRQ_MESSAGE0="when BLE UART received data %1 do %2",pF.BLE_UART_READ_HELPURL="",pF.BLE_UART_READ_TOOLTIP="message from UART",pF.BLE_UART_READ_MESSAGE0="received data",pF.BLE_UART_WRITE_HELPURL="",pF.BLE_UART_WRITE_TOOLTIP="",pF.BLE_UART_WRITE_MESSAGE0="BLE UART send %1",pF.BLE_UART_CLOSE_HELPURL="",pF.BLE_UART_CLOSE_TOOLTIP="",pF.BLE_UART_CLOSE_MESSAGE0="BLE UART disconnect",pF.BLE_SETUP_UART_MASTER_HELPURL="",pF.BLE_SETUP_UART_MASTER_TOOLTIP="",pF.BLE_SETUP_UART_MASTER_MESSAGE0="make BLE UART master, connect to %1 %2",pF.BLE_SETUP_HID_HELPURL="",pF.BLE_SETUP_HID_TOOLTIP="",pF.BLE_SETUP_HID_MESSAGE0="make BLE HID %1 object %2 name %3 battery %4",pF.BLE_HID_MOUSE="mouse",pF.BLE_HID_KEYBOARD="keyboard",pF.BLE_HID_CONSUMER="consumer",pF.BLE_HID_ADVERTISE_HELPURL="",pF.BLE_HID_ADVERTISE_TOOLTIP="",pF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID %1",pF.BLE_HID_CONNECT_EVENT_HELPURL="",pF.BLE_HID_CONNECT_EVENT_TOOLTIP="",pF.BLE_HID_CONNECT_EVENT_MESSAGE0="when BLE HID connected",pF.BLE_HID_DISCONNECT_HELPURL="",pF.BLE_HID_DISCONNECT_TOOLTIP="",pF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID disconnect",pF.BLE_HID_BATTERY_LEVEL_HELPURL="",pF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",pF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID battery level",pF.BLE_HID_MOUSE_BUTTONS_HELPURL="",pF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",pF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="mouse button %1",pF.BLE_HID_MOUSE_CLICK_HELPURL="",pF.BLE_HID_MOUSE_CLICK_TOOLTIP="",pF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID mouse click %1",pF.BLE_HID_MOUSE_PRESS_HELPURL="",pF.BLE_HID_MOUSE_PRESS_TOOLTIP="",pF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID mouse press %1",pF.BLE_HID_MOUSE_RELEASE_HELPURL="",pF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",pF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID mouse release %1",pF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",pF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",pF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID mouse release all",pF.BLE_HID_MOUSE_MOVE_HELPURL="",pF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - cursor movement, range ±127 .\nwheel - wheel movement, range ±127 .",pF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID mouse cursor move %1 x %2 y %3 wheel %4",pF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",pF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",pF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="keyboard button %1",pF.BLE_HID_KEYBOARD_SEND_HELPURL="",pF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",pF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID keyboard send %1",pF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",pF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",pF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID keyboard send multiple %1 %2 %3",pF.BLE_HID_KEYBOARD_PRESS_HELPURL="",pF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",pF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID keyboard press %1",pF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",pF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",pF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID keyboard release %1",pF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",pF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",pF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID keyboard release all",pF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",pF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",pF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="remote control button %1",pF.BLE_HID_CONSUMER_SEND_HELPURL="",pF.BLE_HID_CONSUMER_SEND_TOOLTIP="",pF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID remote control send %1",pF.BLE_SETUP_IBEACON_HELPURL="",pF.BLE_SETUP_IBEACON_TOOLTIP="",pF.BLE_SETUP_IBEACON_MESSAGE0="make BLE iBeacon object with %1 UUID %2 major %3 minor %4",pF.BLE_IBEACON_ADVERTISE_HELPURL="",pF.BLE_IBEACON_ADVERTISE_TOOLTIP="",pF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon %1",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="Return power in mV",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="Voltage(mV) of expansion-board",pF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",pF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="Return the encoded infrared pulse data buff",pF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="Expansion-board generating RAW coding %1 carry_freq(Hz) %2 len %3 repeat_pos %4 code %5 data %6",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="Return the encoded infrared pulse data buff\nUser code: 0~255\nCommand code: 0~255",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="Expansion-board generating NEC coding %1 User code %2 Command code %3",pF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",pF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="Expansion-board sending infrared pulse data %1 %2",pF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="send once",pF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="keep sending",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="Expansion-board stop sending infrared pulse data",pF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",pF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="The learning result will be returned after 4 seconds.",pF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="Expansion-board do infrared learning",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="Is there any result for the infrared learning ?",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP='Return the learned "infrared coded data", which must be used after the "learn()" function.',pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="Expansion-board learned infrared coding data",pF.MPYTHON_MAIN_HELPURL="",pF.MPYTHON_MAIN_TOOLTIP="This block does not have to be used, it just makes the program structure more regular.",pF.MPYTHON_MAIN_MESSAGE0="Main program",pF.MPYTHON_MLX90615_SET_HELPURL="",pF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 set sensor emissivity %1",pF.MPYTHON_MLX90615_SET_TOOLTIP="",pF.MPYTHON_MLX90615_GET_HELPURL="",pF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 get sensor emissivity",pF.MPYTHON_MLX90615_GET_TOOLTIP="",pF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",pF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 measured temperature",pF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",pF.MPYTHON_MQ135_INIT_HELPURL="",pF.MPYTHON_MQ135_INIT_MESSAGE0="initialize MQ135 at output pin %1 temperature %2 ℃ humidity%3 %",pF.MPYTHON_MQ135_INIT_TOOLTIP="V(VCC) is connected to the power port of the expansion board, G(GND) is connected to the ground port of the expansion board, and AO is connected to the pin of the expansion board\nMQ135 is used to detect the concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases in the air.",pF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 return %1",pF.MPYTHON_MQ135_OPTIONS_HELPURL="",pF.MPYTHON_MQ135_OPTIONS_TOOLTIP="",pF.MPYTHON_MQ135_GET_RZERO="correction of sensor resistance",pF.MPYTHON_MQ135_GET_CORRECTED_RZERO="calibrate sensor resistance (calibrate temperature and humidity)",pF.MPYTHON_MQ135_GET_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",pF.MPYTHON_MQ135_GET_CORRECTED_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",pF.mpython_gyroscope_get_HELPURL="",pF.mpython_gyroscope_get_MESSAGE0="%1 axis angular velocity",pF.mpython_gyroscope_get_TOOLTIP="Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",pF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",pF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",pF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",pF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",pF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",pF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",pF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",pF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",pF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="Default is ±256dps. Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="set angular velocity range to %1",pF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",pF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="calibration angular velocity value %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4";const MF=pF;Object.assign(a_.Variables,L_),Object.assign(a_.Procedures,Fi),a_.Python=Zs,a_.generator=Zs,p_.Profile.default={},Object.assign(p_.Profile,Fg),Object.assign(p_.Profile.default,Fg["ESP32 Generic"]),Object.assign(a_.Lang.ZhHans,OF),Object.assign(a_.Lang.ZhHant,aF),Object.assign(a_.Lang.En,MF),Object.assign(a_.Blocks,t,e,i,T,E,n,o,s,O,I,a,p,M,y,k,V,B,f,w,D,X,v,x,b,Y,H,c,G,g,F,U,O_),Object.assign(a_.Python.forBlock,L,R,r,S,l,A,P,N,d,h,u,m,C,__,o_,n_,J,t_,s_,z,E_,T_,i_,e_,Z,K,W,j,q,$,Q,I_)})();