forked from FOSS/BangleApps
commit
f2da4e5a0d
12
apps.json
12
apps.json
|
@ -2753,6 +2753,18 @@
|
|||
{"name":"oblique.app.js","url":"app.js"},
|
||||
{"name":"oblique.img","url":"app-icon.js","evaluate":true}
|
||||
]
|
||||
},
|
||||
{ "id": "testuserinput",
|
||||
"name": "Test User Input",
|
||||
"shortName":"Test User Input",
|
||||
"icon": "app.png",
|
||||
"version":"0.02",
|
||||
"description": "Basic app to test the bangle.js input interface. It displays the result in text or a switch on/off image.",
|
||||
"tags": "input,interface,buttons,touch",
|
||||
"storage": [
|
||||
{"name":"test_userInput.app.js","url":"app.js"},
|
||||
{"name":"test_userInput.img","url":"app-icon.js","evaluate":true}
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
0.02: app to test the bangle.js Input interface
|
|
@ -0,0 +1,40 @@
|
|||
# Test User Input
|
||||
|
||||
This very basic app, allows to *test the bangle.js input interface*, and displays the result in text or a switch on/off image.
|
||||
|
||||
|
||||
Launcher icon
|
||||

|
||||
1st screen - Help/Intro
|
||||

|
||||
2nd screen - interface and a result
|
||||

|
||||
3rd screen - interface and a result
|
||||

|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
Open and see a "help" screen
|
||||
Interact with buttons or touch screen to print the event or leave the app
|
||||
|
||||
## Features
|
||||
|
||||
Colours, font, user input, image, load widgets
|
||||
|
||||
|
||||
## Controls
|
||||
Press left area - Prints Touch1
|
||||
Press righ area - Prints Touch2
|
||||
Press center area - Prints Touch3
|
||||
Swipe Left - Displays Switch OFF image
|
||||
Swipe Right - Displays Switch ON image
|
||||
BTN1 - Prints Button1
|
||||
BTN2 - Prints Button2
|
||||
BTN3 - Quit to Launcher
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
This app is so basic that probably the easiest is to just edit the code
|
||||
Otherwise you can contact me [here](https://github.com/dapgo)
|
|
@ -0,0 +1 @@
|
|||
var img = E.toArrayBuffer(atob("MDDCAP//Bv7m/RF8AAAAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAD//8AAAAAAAAAAAAP///AAAAAAAAAAAA////wAAAAAAAAAAA////wAAAAAAAAAAD/9X/8AAAAAAAAAAD/1V/8AAAAAAAAAAD/1V/8AAAAAAAAAAD/1V/8AAAAAAAAAAD/1V/8AAAAAAAAAAA/1V/wAAAAAAAAAAA/1V/wAAAAAAAAAAAP1V/AAAAAAAAAAAAD1V8AAAAAAAAAAAAAFVAAAAAAAAAAAAAAFVAAAAAAAAAAAAAAFVAAAAAAAAAAAAAAFVAAAAAAAAAAAAAAFVlQAAAAAAAAAAAAFVlVVQAAAAAAAAAAFVVVVVUAAAAAAAAAFVVVVVVQAAAAAAAAFVVVVVVQAAAAFYAAFVVVVVVUAAAAFWAAFVVVVVVUAAAAFVgAFVVVVVVUAAAAFVaAlVVVVVVUAAAABVWqlVVVVVVUAAAAAVVqlVVVVVVUAAAAAFValVVVVVVYAAAAABVWlVVVVVVoAAAAAAVVlVVVVVWoAAAAAAFVVVVVVVaoAAAAAAFVVVVVVVqoAAAAAABVVVVVVWqoAAAAAAAVVVVVVqqoAAAAAAAFVVVVWqqoAAAAAAABVVVVaqqoAAAAAAAAVVVVqqqgAAAAAAAAFVVWqqqgAAAAAAAABVVaqqqAAAAAAAAAAFVqqqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
Binary file not shown.
After Width: | Height: | Size: 101 KiB |
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
|
@ -0,0 +1,135 @@
|
|||
/* Test bangle.js input interface */
|
||||
var colbackg='#111111';
|
||||
//var coldarkred='#CC3333';
|
||||
var colorange='#e56e06';
|
||||
var colgrey='#f3f3f1'; //'#51504f'; //lighter gray
|
||||
var v_font1size='16';
|
||||
var v_clicks='0';
|
||||
console.log("*** Test input interface ***");
|
||||
|
||||
function ClearActiveArea(){
|
||||
g.setColor(colbackg);
|
||||
g.fillRect(0,32,239,239); //fill all screen except widget area
|
||||
g.flip();
|
||||
}
|
||||
function ClearBannerArea(){
|
||||
g.setColor(colgrey);
|
||||
g.fillRect(50,32,190,85); //fill an specific area
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function PrintUserInput(boton){
|
||||
console.log("Pressed touch/BTN",boton);
|
||||
if (v_clicks=='0') PrintAreas();
|
||||
ClearBannerArea();
|
||||
|
||||
if (boton==' <---') {
|
||||
var img_off = {
|
||||
width : 48, height : 48, bpp : 2,
|
||||
transparent : 0,
|
||||
palette : new Uint16Array([65535,63968,40283,50781]),
|
||||
buffer : E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAA///9VVVVVVVQAAAD/qq/1VVVVVVVAAAP6qqv9VVVVVVVUAA/qqqv/VVVVVVVVAD+qqq//1VVVVVVVQP6qqq//1VVVVVVVQPqqqr//9VVVVVVVUvqqqr//9VVVVVVVU+qqqv/+uVVVVVVVV+qqqv+quVVVVVVVV+qqq+qqvVVVVVVVV+qqvqqqvVVVVVVVV+qv+qqquVVVVVVVV+r/+qqquVVVVVVVVv//6qqq9VVVVVVVUP//6qqq9VVVVVVVUP//qqqr1VVVVVVVQD//qqqv1VVVVVVVQA/+qqq/VVVVVVVVAAP+qqr9VVVVVVVUAAD/qq/1VVVVVVVAAAA///9VVVVVVVQAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
||||
};
|
||||
g.drawImage(img_off,90,35);
|
||||
}
|
||||
else if (boton==' --->') {
|
||||
var img_on = {
|
||||
width : 48, height : 48, bpp : 2,
|
||||
transparent : 0,
|
||||
palette : new Uint16Array([65535,36361,27879,40283]),
|
||||
buffer : E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAABVVVVVqqf///AAAAVVVVVWqn////wAAFVVVVVWqf////8AAVVVVVVap//////ABVVVVVVqr//////wBVVVVVVqn//////8FVVVVVVqv//////8FVVVVVWqf///////VVVVVVWq////////VVVVVVWq////////VVVVVVWq////////VVVVVVWq////////VVVVVVWq////////VVVVVVWq////////FVVVVVWqf///////FVVVVVVqv//////8BVVVVVVqn//////8BVVVVVVar//////wAVVVVVVap//////AAFVVVVVWqf////8AAAVVVVVWqn////wAAABVVVVVqqf///AAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))
|
||||
};
|
||||
g.drawImage(img_on,90,35);
|
||||
}
|
||||
else
|
||||
{ //no swipe /slide
|
||||
g.setColor(colorange);
|
||||
g.setFontVector(32).drawString(boton, 60, 65);
|
||||
}
|
||||
g.flip();
|
||||
v_clicks++;
|
||||
}
|
||||
function PrintBtn1(boton){
|
||||
console.log("Pressed BTN1");
|
||||
if (v_clicks=='0') PrintAreas();
|
||||
PrintUserInput("Button1");
|
||||
v_clicks++;
|
||||
}
|
||||
|
||||
function PrintBtn2(boton){
|
||||
console.log("Pressed BTN2");
|
||||
if (v_clicks=='0') PrintAreas();
|
||||
PrintUserInput("Button2");
|
||||
v_clicks++;
|
||||
}
|
||||
|
||||
function PrintHelp(){
|
||||
console.log("********************************");
|
||||
console.log("Log: *** Print help in screen");
|
||||
ClearActiveArea();
|
||||
g.setColor(0,1,0); //green
|
||||
g.setFontVector(v_font1size).drawString("To test the input, try :", 30, 90);
|
||||
g.setFontVector(v_font1size).drawString("Swipe right -->", 30, 115);
|
||||
g.setFontVector(v_font1size).drawString("Swipe left <--", 30, 130);
|
||||
g.setFontVector(v_font1size).drawString("Click Left area", 30, 145);
|
||||
g.setFontVector(v_font1size).drawString("Click Right area", 30,160);
|
||||
g.setFontVector(v_font1size).drawString("Click Middle area", 30,175);
|
||||
g.setFontVector(v_font1size).drawString("Press Button1 ", 30,190);
|
||||
g.setFontVector(v_font1size).drawString("Press Button2 ", 30,205);
|
||||
g.setFontVector(v_font1size).drawString("Press Button3 to Quit", 30,220);
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function PrintAreas(){
|
||||
console.log("********************************");
|
||||
console.log("Log: *** Print Areas in screen");
|
||||
ClearActiveArea();
|
||||
g.setColor(0,1,0); //green
|
||||
g.drawLine(1, 140, 1, 200);//side border
|
||||
g.drawLine(239, 140, 239, 200);//side border
|
||||
g.drawLine(120, 140, 120, 200);//middle of areas
|
||||
g.setFontVector(v_font1size).drawString("BTN1", 195,45);
|
||||
g.setFontVector(v_font1size).drawString("BTN2", 195,125);
|
||||
g.setFontVector(v_font1size).drawString("Quit<--", 130,225);
|
||||
g.setFontVector(v_font1size).drawString("BTN3", 195,225);
|
||||
g.setFontVector(v_font1size).drawString("Middle area", 80,120);
|
||||
g.setFontVector(v_font1size).drawString("Left area", 15, 165);
|
||||
g.setFontVector(v_font1size).drawString("Right area", 140,165);
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function UserInput(){
|
||||
Bangle.on('touch', function(button){
|
||||
switch(button){
|
||||
case 1:
|
||||
PrintUserInput("Touch 1");//left
|
||||
break;
|
||||
case 2:
|
||||
PrintUserInput("Touch 2");//right
|
||||
break;
|
||||
case 3:
|
||||
PrintUserInput("Touch 3");//center 1+2
|
||||
break;
|
||||
}
|
||||
});
|
||||
//only the name of the function
|
||||
setWatch(PrintBtn1, BTN1, { repeat: true });
|
||||
setWatch(PrintBtn2, BTN2, { repeat: true });
|
||||
setWatch(Bangle.showLauncher, BTN3, { repeat: true });
|
||||
Bangle.on('swipe', dir => {
|
||||
if(dir == 1) PrintUserInput(" --->");
|
||||
else PrintUserInput(" <---");
|
||||
});
|
||||
console.log("Log: Input conditions loaded");
|
||||
} //end of UserInput
|
||||
|
||||
//Main code
|
||||
Bangle.loadWidgets();
|
||||
Bangle.drawWidgets();
|
||||
//optional line below widgets area
|
||||
g.setColor(0,1,0); //green
|
||||
g.drawLine(60, 30, 180, 30);
|
||||
g.flip();
|
||||
//end optional
|
||||
PrintHelp();
|
||||
UserInput();
|
|
@ -0,0 +1 @@
|
|||
00堽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]]]]]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⺌]]]]]]]]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WW亪<57>瑘乄W<E4B984><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WW伂匙鬃超乄W<E4B984><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⺈]<5D>赚<EFBFBD>鬃琞W<E7909E><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VV埑赚瓮维壮圴V<E59CB4><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑇V<E39187><56>现衔<E78EB0>琕V<E79095><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑇V<E39187><56>种滞<E7A78D>琕V<E79095><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑇V<E39187><56>现瓮<E78EB0>琕V<E79095><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑇V偝<56>屯屯<E5B1AF>俈V<E4BF88><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VV<56>屯屯同琕V<E79095><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㑇V]<5D>屯屯琞VV<56><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VVV屯屯蚔VV<56><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V2屯屯<E5B1AF>2V<32><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯⑼屯<E291BC><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯峭屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯威<E5B1AF><E5A881><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯威<E5B1AF><E5A881><EFBFBD>屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯威<E5B1AF>⑼屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯牵M屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯颓M屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯峭屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯屯<E5B1AF><E5B1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屯屯屯屯屯屯屯威<E5B1AF><E5A881><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
Loading…
Reference in New Issue