ascii import fix, started editing

This commit is contained in:
Hugh Bord 2021-03-13 13:30:58 +10:00
parent 609cc01391
commit 9d56b30f0d
8 changed files with 432 additions and 156 deletions

View File

@ -74,7 +74,11 @@
<div class="border-gray-600">
<!-- <router-view /> -->
<Editor :tab="currentTab" :refresh="refresh" v-if="asciibirdMeta.length" />
<Editor
:tab="currentTab"
:refresh="refresh"
v-if="asciibirdMeta.length"
/>
</div>
</div>
</div>
@ -166,9 +170,9 @@ export default {
let firstColor = false;
let secondColor = false;
let colorChar1 = null
let colorChar2 = null
var parsedColor = null
let colorChar1 = null;
let colorChar2 = null;
var parsedColor = null;
var theWidth = 0;
@ -177,103 +181,115 @@ export default {
charPos <= this.asciiImport.length - 1;
charPos++
) {
let curChar = asciiStringArray[charPos];
let curChar = asciiStringArray[0];
// Defining a small finite state machine
// to detect the colour code
switch (curChar) {
case "\n":
// Reset the colours here on a new line
curBlock = {
fg: null,
bg: null,
char: null,
};
fg: null,
bg: null,
char: null,
};
//
asciiY++;
// We can determine the width at the end of the first line
if (!this.finalAscii.width) {
this.finalAscii.width = charPos - theWidth; // minus \n for the proper width
this.finalAscii.width =
this.asciiImport.split("\n")[0].length - 1 - theWidth; // minus \n for the proper width
}
// Resets the X value
asciiX = 0;
asciiStringArray.shift();
break;
case "\u0003":
curBlock = {
fg: null,
bg: null,
char: null,
};
firstColor = false;
secondColor = false;
// Skip the color code "\u0003"
charPos++;
// CC
if (
asciiStringArray[0] === "\u0003" &&
asciiStringArray[1] === "\u0003"
) {
curBlock = {
fg: null,
bg: null,
char: null,
};
for (let k = charPos; k <= k + 3; k++) {
// Try to get the first color code, could be
// C,2XXXX - blank bg
// C6,XXXX - blank fg
// Can also exist
console.log("Got CC");
continue;
}
// These can be refactored into a function
if (!firstColor && asciiStringArray[k] !== ",") {
colorChar1 = `${asciiStringArray[k]}`
colorChar2 = `${asciiStringArray[k + 1]}`
parsedColor = `${colorChar1}${colorChar2}`
asciiStringArray.shift();
theWidth++;
if (!isNaN(parsedColor) && parseInt(parsedColor) <= MIRC_MAX_COLORS && parseInt(parsedColor) >= 0 ) {
curBlock.fg = parseInt(parsedColor);
k++;k++;charPos++;charPos++;
firstColor = true;
theWidth+=1;
if (!firstColor) {
colorChar1 = `${asciiStringArray[0]}`;
colorChar2 = `${asciiStringArray[1]}`;
parsedColor = parseInt(`${colorChar1}${colorChar2}`);
} else if (!isNaN(colorChar1) && parseInt(colorChar1) <= MIRC_MAX_COLORS && parseInt(colorChar1) >= 0) {
curBlock.fg = parseInt(colorChar1);
k++;charPos++;
firstColor = true;
theWidth+=2;
}
if (parsedColor <= MIRC_MAX_COLORS && parsedColor >= 0) {
curBlock.fg = parseInt(parsedColor);
firstColor = true;
theWidth += parsedColor.toString().length;
asciiStringArray = asciiStringArray.slice(
parsedColor.toString().length,
asciiStringArray.length
);
}
}
colorChar1 = null
colorChar2 = null
parsedColor = null
colorChar1 = null;
colorChar2 = null;
parsedColor = null;
if (!secondColor && asciiStringArray[k] !== ",") {
colorChar1 = `${asciiStringArray[k]}`
colorChar2 = `${asciiStringArray[k + 1]}`
parsedColor = `${colorChar1}${colorChar2}`
// No background colour
if (asciiStringArray[0] !== ",") {
secondColor = true;
break;
} else {
asciiStringArray.shift();
}
if (!isNaN(parsedColor) && parseInt(parsedColor) <= MIRC_MAX_COLORS && parseInt(parsedColor) >= 0 ) {
curBlock.bg = parseInt(parsedColor);
charPos++;charPos++;
theWidth+=1;
break;
} else if (!isNaN(colorChar1) && parseInt(colorChar1) <= MIRC_MAX_COLORS && parseInt(colorChar1) >= 0) {
curBlock.bg = parseInt(colorChar1);
charPos++;
theWidth+=2;
break;
}
if (!secondColor) {
colorChar1 = `${asciiStringArray[0]}`;
colorChar2 = `${asciiStringArray[1]}`;
parsedColor = parseInt(`${colorChar1}${colorChar2}`);
if (parsedColor <= MIRC_MAX_COLORS && parsedColor >= 0) {
curBlock.bg = parseInt(parsedColor);
theWidth += parsedColor.toString().length;
asciiStringArray = asciiStringArray.slice(
parsedColor.toString().length,
asciiStringArray.length
);
break;
}
}
}
break;
default:
curBlock.char = curChar
asciiX++;
// Fk this js shit, serialising the curBlock works much better. Lost hours on this bs, fk.
this.finalAscii.blocks[asciiY][asciiX-1] = JSON.parse(JSON.stringify(curBlock));
curBlock.char = curChar;
asciiStringArray.shift();
asciiX++;
// Fk this js shit, serialising the curBlock works much better. Lost hours on this bs, fk.
this.finalAscii.blocks[asciiY][asciiX - 1] = JSON.parse(
JSON.stringify(curBlock)
);
break;
} // End Switch
@ -281,7 +297,7 @@ export default {
// break;
} // End loop charPos
console.log(JSON.stringify(this.finalAscii.blocks))
console.log(JSON.stringify(this.finalAscii.blocks));
this.$store.commit("newAsciibirdMeta", this.finalAscii);
// End file upload
@ -295,8 +311,8 @@ export default {
},
changeTab(key, value) {
// Update the tab index in vuex store
this.currentTab = key
this.refresh = !this.refresh
this.currentTab = key;
this.refresh = !this.refresh;
this.$store.commit("changeTab", key);
},
clearCache() {
@ -331,7 +347,7 @@ export default {
this.$store.commit("newAsciibirdMeta", payload);
this.$modal.hide("create-ascii-modal");
this.refresh = !this.refresh
this.refresh = !this.refresh;
},
closeNewASCII({ params, cancel }) {
this.forms.createAscii.width = 5;

32
src/assets/2joints.txt Normal file
View File

@ -0,0 +1,32 @@
3,3xxxxxx1,1xxxxxxxxxxxxxxxxxxxxxx3,3xx1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3,3xx1,1xxxxxx3,3xx1,1xxxxxxxxxxxxxxxxxx3,3xx1,1xxxxxxxx3,3xxxxxx1,1xxxxxxxxxxxxxxxxxxxx
3,3xxxxxx1,1xx3,3xxxxxxxxxx1,1xx3,3xxxxxx1,1xx3,3xx1,1xx3,3xx1,1xxxx3,3xxxxxx1,1xxxxxxxxxxxxxxxxxxxx
1,1xxxx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xxxx1,1xxxxxx3,3xx1,1xxxxxxxxxxxxxxxxxxxxxxxx
3,3xxxxxx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xxxxxx1,1xx3,3xx1,1xx3,3xx1,1xxxx3,3xxxxxx1,1xx15,15xxxx1,1xxxxxxxxxxxxxx
1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xxxx1,1xxxxxxxxxxxxxxxx
1,1xx3,3xx1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xxxx1,1xxxxxxxxxxxx15,15xx1,1xxxx
1,1xx3,3xx1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xx1,1xxxxxxxxxxxxxxxxxx15,15xx1,1xx
3,3xxxxxx1,1xx3,3xx1,1xxxxxx3,3xx1,1xxxx3,3xxxxxx1,1xxxxxxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxx15,15xx1,1xx
1,1xx3,3xx1,1xxxx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xxxx3,3xx1,1xx3,3xx1,1xxxxxxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxx15,15xx1,1xx
1,1xx3,3xx1,1xxxx3,3xxxxxxxxxx1,1xxxx3,3xxxxxx1,1xxxxxxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx15,15xx1,1xx15,15xxxx1,1xx
1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xxxx1,1xx15,15xx1,1xxxx15,15xxxxxxxx1,1xxxx
1,1xx3,3xx1,1xxxxxxxxxx3,3xx1,1xxxxxxxxxxxx3,3xx1,1xxxx3,3xxxxxx1,1xx15,15xx1,1xx15,15xx1,1xxxx15,15xx1,1xx15,15xxxx1,1xxxx
1,1xxxxxxxxxxxxxxxxxx3,3xx1,1xxxxxxxx3,3xx1,1xxxx3,3xx1,1xxxxxx15,15xx1,1xx15,15xx1,1xxxx15,15xx1,1xxxx15,15xxxx1,1xx
1,1xx3,3xx1,1xx3,3xxxxxx1,1xx3,3xx1,1xx3,3xxxxxx1,1xx3,3xxxxxx1,1xx3,3xxxxxx1,1xxxxxx15,15xx1,1xxxx15,15xx1,1xxxxxx15,15xxxx
1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xxxx3,3xx1,1xxxxxxxx3,3xx1,1xxxx15,15xxxx1,1xxxx15,15xx1,1xxxxxxxx15,15xx
1,1xx3,3xx1,1xx3,3xxxxxx1,1xx3,3xx1,1xx3,3xx1,1xx3,3xx1,1xxxx3,3xx1,1xxxx3,3xxxxxx1,1xx15,15xxxx1,1xxxxxx15,15xx1,1xxxxxx15,15xxxx
3,3xxxx1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xx1,1xxxxxxxx15,15xxxx1,1xx15,15xxxx1,1xx
1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xx1,1xxxxxxxx15,15xx1,1xxxx15,15xx1,1xxxx
1,1xxxxxxxx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxx1,1xxxxxxxxxxxxxxxx15,15xx1,1xxxx15,15xx1,1xxxx
1,1xx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xxxxxxxx15,15xxxx1,1xxxx15,15xx1,1xxxx
0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xxxxxx15,15xxxx1,1xxxx15,15xxxx1,1xxxx
0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx
1,1xxxxxxxx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxx1,1xxxxxxxxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx
1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xx1,1xxxxxx15,15xx1,1xxxxxx
1,1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15,15xx1,1xxxxxx
1,1xxxxxxxxxxxxxxxx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1,1xxxxxxxxxx15,15xx1,1xxxxxx
1,1xxxxxx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xx15,15xxxx1,1xxxxxxxx
1,1xx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xxxxxxxxxxxxxx
0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4,4xxxx1,1xxxxxxxxxxxxxx
0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1,1xxxxxxxxxxxxxxxxxxxx
1,1xxxxxxxx0,0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1,1xxxxxxxxxxxxxxxxxxxxxxxx

15
src/assets/300sux.txt Normal file
View File

@ -0,0 +1,15 @@
0,1 0,4 0,1
0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1
0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1
0,1 0,4 4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1
0,1 0,4 4,1 0 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1
0,1 0,4 4,1 0 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,4 0,1
0,1 0,4 4,1 0 0,4 0,1 0,4 0,1 0,4 0,1 0,8 0,4 0,1 0,4 0,1 0,8 0,1 0,8 0,4 0,1
0,1 4 0 0,4 0,1 0,4 0,1 0,4 0,1 0,8 0,1 0,8 0,1 0,4 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,4 0,1 0,4 0,1 0,8 0,1 0,4 0,1 0,4 0,8 0,1 0,8 0,4 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,4 0,1 0,8 0,1 0,8 0,4 0,8 0,4 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,4 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,8 0,1 0,8 0,1 0,8 0,1 0,8 0,1
0,1 0,4 0,1 0,8 0,1

View File

@ -0,0 +1,18 @@
7,8 0
7,8 0
7,8 1,1 7,8 1,1 7,8 0
7,8 1,1 7,8 1,1 0,0 1,1 7,8 1,1 0,0 1,1 7,8 1,1 8,8 7
7,8 1,1 7,8 1,1 7,8 1,1 0,0 1,1 0,0 1,1 7,8 1,1 0,0 1,1 0,0 1,1 7,8 1,1 7,8 1,1 7,8
7,8 1,1 7,8 1,1 7,8 1,1 0,0 1,1 7,8 1,1 0,0 1,1 7,8 1,1 7,8 1,1 7,8
7,8 1,1 7,8 1,1 7,8 1,1 7,8 1,1 7,8
7,8
7,8 1
7,8 1 7,1 1 0 1 0 1 0 1 0 1 0 1 0 0,8 1 8
7,8 9 1 1,1 7,5 I AM VERY UPSET RIGHT NOW!!!0 1,1 0,8 1 0
7,8 9 1,1 1,5 7YOU GUYS PISS ME OFF SO MUCH1 1,1 1,8 0
7,8 9 9,1 1,5 7FUCKING FUCK MY RAGE CAN NOT 3,1 3,8
0,8 9,1 9,5 1 7BE CONTROLLED WHAT THE FUCK!3 3,1 3,8 10 3
0,8 0,1 9,5 7I AM GOING TO COMPLAIN NOW!!3 3,1 3,8 10
0,8 0,1 7 9 1 3 1 0 1 0 3 0 3 3,8 0
0,8 9 1 0 1 0 1 3 10 3 0 3 8
0,8 9 1 3 10 3 10 8 3 10

View File

@ -0,0 +1,143 @@
0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,12 1,2 0 0,12 0,2 0,12 0,2 0,6 0,12 0,2 0,12 0,2 0,6 0,12 0,2  0,6 0,12 0,6 0,2 0,6
0,2 0,12 0,6 0,9 0,6 0,12 0,2 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6
0,2 8,12 0 0,2 0,6 0,9 0,6 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,9 0,6 0,2 0,6 0,9 14 0 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6
0,2 0,12 8,2 0,12 0,6 0,9 0,6 0,9 0,6 0,2 0,6 0,9 8*0 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6
0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,6 4,2 0,6 0,9 0,6 0,2 0,12 0,1 0,12 0,2 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,2
0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2
0,2 8,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,2 0,12 0,2
0,2 0,6 0,9 0,6   0,9 0,6 0,2 0,6 0,9 8*0 0,6 0,2 0,12 0,6 0,9 0,6 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,2
0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,2
0,6 0,9   0,6 0,12 0,2 0,6 0,9 0,6 4,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,2 0,12
0,6 0,9 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,2 0,12 0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,2
0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2
0,6 0,9 0,6 0,12  0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6
0,6 0,9 0,6 0,12   0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,9 0,6 0,2 0,6 0,9   0,6 0,2 0,6 0,9 0,6 0,2 12,6 0,9 0,6
0,6 0,9 0,6 0,12   0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,12 0,6 0,9    0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6
0,6 0,2   0,6 0,2 0,6 0,12 0,2 0,6 0,12 0,2 0,6   0,2 0,6
0,12   0,2   15 0 0,12 0,2 0,12 0,2 0,12 0,2
0,12 0,6 8 0   0,12 0,6 0,2 0,6 0,12 0,6 0,2 0,6 0,12 0,2 0,6 0,2   0,6 0,2 0,12 0,2 0,6 0,12 0,6 0,12 0,2 0,6 0,2
0,12 0,6 0,9  0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,2 0,6 0,9  0,6 0,2 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,6 0,9 9 0 0,6 0,2 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2
0,12 0,6 0,9  0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,2 0,6 0,9 4 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2
0,12 0,6 0,9  0,6   0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12  0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 12,6 0,9 0,6 0,12 0,9 0,6 0,12
0,12 0,6 0,9 0,6 0,2  0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,9 0,6 0,2  0,6 0,9 13,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12
0,12  0,6 0,9 0,6 0,12 0,2  0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2  0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,12 0,6 0,9 6 0 0,6 0,12 0,6 0,9 0,6 0,2 0,12
0,12 0,6 0,9 0,6 0,2   0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,9 0,6 0,2  0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12
0,12 0,6 0,9 0,6   0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,9 0,6 0,12
0,12 0,6 0,9  0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,12  0,6 0,9 0,6 0,9 0,6 0,12 0,6 0,9 0,2 0,9 0,6 0,2 0,6 0,9 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2
0,2 0,6 0,9  0,6 0,2 0,6 0,9 0,6 0,12 0,2 0,6 0,9 0,6 0,2 0,12 0,2 0,12 0,6 0,9 6 0,6 0,12 0,2 0,12 0,2 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,12 0,6 0,9 0,6 0,2
0,2 0,6   0,2 0,6 0,2 0,6 0,2 0,12 0,6 0,12 0,2 0,6 4   4,12 8 8,2 4,6 6,2  4,6 13  0 0,12 0,2 0,6 0,12 0,6 0,12 0,6 0,12 0,2 0,6 0,2
0,2 0,12 0,2 0,12 0,2   0,12 0,2 0,12 0,2 0,12 0,2 0,12 8 0 0,2 4 0   0,12 0,2 0,12 0,2 0,12 0,2
0,12 0,2 0,12 0,4 0,2  0,12  0,4 0,2 0,12 0,4 0,12 0,2 0,12 0,4 0,2 4 4,12 0 0,4 0,2 0,12 0,2 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,2
0,12 0,2 0,12 0,4  0,12   0,4 0,12 8 0 0,4 0,12 0,2 0,12 0,4 4,2  G4,12A4,2ME 4,12OVE4,2R 0,12 0,4 0,12 0,4 0,2 0,12 0,2 0,12 0,4 0,12 0,4 0,2
0,12 0,4   0,2 0,12 0,2 0,12 0,4 0,2 0,12 0,2   0,12 0,4 0,2 0,12 0,4 0,12 0,2
0,12 0,4 0,1 0,4 0,1 0,4 0,2 0,12 0,4 0,1 0,4 0,1 0,4 0,2 0,12 0,4 0,1 0,4 0,1 0,4 0,12 0,4 0,1 0,4 0,1 0,4 0,2
0,12 0,4 0,2 0,12 0,4 0,12 0,2 0,12 0,4 0,2 0,12 0,4 0,2
0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,2
0,12 0,4 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,2 0,12 0,4 0,12 0,4 0,12 0,2 0,12 0,4 0,12 0,4 0,12
0,12 0,2 0,12 0,4 0,12 0,4 0,2 0,12 0,2 0,12 0,4 0,12 0,4 0,2 0,12 0,2 0,12 0,2 0,12 0,4 0,12 0,4 0,12 0,2 0,12 0,4 0,2 0,12 0,4 0,2 0,12
0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2  0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 9 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,8 0,12 0,2 0,12 0,2 0,12 0,2 0,8 0,2 0,12 0,2 0,12 0,8 0,12 0,2 0,12 0,2 0,12 0,2 0,8 0,12 0,2 0,12 0,2 0,8 0,2 0,12 0,2 0,12 0,8 0,12 0,2 0,12
0,12 0,2 0,8 0,12 0,8 0,2 0,12 0,2 0,12 0,8 0,2 0,12 0,2 0,12 0,8 0,12 0,2 0,12 0,8 0,2 0,12 0,8 0,12
0,2 0,8 0,1 0,12 0,2 0,12 0,2 0,8 0,12 0,2 0,12 0,2 0,8 0,12 0,2 0,8 0,12 0,2 0,12 0,2 0,8 0,2 0,12 0,2 0,12 0,8 0,12 0,2
0,8 0,1 0,8 0,1 0,8  0,2 0,8 0,1 0,8 0,1 0,8 0,12 0,2 0,8 0,1 0,8 0,1 0,8 0,12 0,2 0,12 0,8 0,1 0,8 0,1 0,8 0,12 0,8 0,1 0,8 0,1 0,8 0,12 0,2 0,8 0,1 0,8 0,1 0,8
0,8  0,12 0,8 0,2 0,12 0,8 0,12 0,2 0,12 0,8 0,12 0,8 0,12 0,2 0,8
0,12 0,8 0,12 0,2 0,12 0,8 0,12 0,2 0,12 0,8 0,12 0,2 0,12 0,8 0,12 0,2 0,12 0,8 0,12 0,8 0,12 0,8 0,12 0,2 0,8 0,12 0,2 0,8 0,2 0,8 0,2 0,12 0,2 0,8 0,2 0,8 0,2
0,8 0,12 0,2 0,12 0,2 0,8 0,12 0,2 0,12 0,8 0,2 0,12 0,2 0,12 0,2 0,8 0,12 0,8 0,2 0,12 0,2 0,8 0,2 0,8 0,2 0,8 0,12 0,2 0,8 0,2 0,8 0,2 0,12 0,8 0,2 0,12 0,2 0,8
0,12 0,8 0,12 0,2 0,8 0,2 0,12 0,2 0,8 0,2 0,12 0,2 0,8 0,2 0,8 0,12 0,8 0,2 0,8 0,12 0,2 0,12 0,2 0,12 0,8 0,2 0,8 0,2 0,8 0,2 0,8 0,2 0,12 0,2 0,8 0,2
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,2 0,12 0,2 0,9 0,12 0,2 0,12 0,2 0,9 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,9 0,2 0,12
0,12 0,2 0,9 0,12 0,2 0,9 0,12 0,2 0,9 0,12 0,2 0,9 12 0 0,12
0,12 0,2 0,9 0,12 0,2 0,9 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,12 0,2 0,9 0,12 0,2
0,12 0,2 0,9 0,1 0,9 0,1 0,9 0,12 0,2 0,9 0,1 0,9 0,1 0,9 0,2 0,12 0,2 0,9 0,1 0,9 0,1 0,9 0,2 0,12 0,2 0,12 0,2 0,9 0,1 0,9 0,1 0,9 0,2
0,2 0,9 0,12 0,2 0,9 0,2 0,12 0,2 0,9 0,12 0,2 0,9 0,2
0,2 0,9 0,2 0,9 0,2 0,9 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,2
0,2 0,9 0,2 0,9 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,2 0,9 0,12 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,2 0,9 0,2 0,12 0,2 0,9 0,2 0,9 0,12 0,2 0,9 0,2 0,9 0,2 0,9 0,2 0,9 0,2
0,12 0,2 0,9 0,12 0,2 0,9 0,12 0,2 0,12 0,2 0,9 0,2 0,9 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,9 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,9 0,2 0,9 0,2
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2  0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2 0,12 0,10 0,12 0,2 0,12 0,2 0,10 0,2 0,12 0,2 0,12 0,2 0,10 0,2 0,12 0,2 0,12 0,2 0,10 0,12 0,2 0,10 0,2 0,10 0,2
0,12 0,10 0,12 0,2 0,10 0,2 0,12 0,10 0,2 0,12 0,2 0,10 0,2 0,10 0,2 0,10 0,2
0,12 0,10 0,12 0,2 0,10 0,2 0,12 0,10 0,2 0,12 0,2 0,10 0,2 0,10 0,2 0,10 0,2
0,10 0,1 0,10 0,1 0,10 0,2 0,10 0,1 0,10 0,1 0,10 0,2 0,12 0,10 0,1 0,10 0,1 0,10 0,2 0,10 0,1 0,10 0,1 0,10 0,2 0,10 0,1 0,10 0,1 0,10 0,2 0,10 0,1 0,10 0,1 0,10
0,10 0,12 0,2 0,10 0,12 0,10 0,2 0,12 0,10 0,2 0,10 0,2 0,10
0,2 0,10 0,12 0,10 0,2 0,12 0,2 0,10 0,12 0,10 0,2 0,12 2,2 0 0,10 0,12 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,12 0,2 0,10 0,2 0,10 0,2
0,2 0,10 0,12 0,10 0,12 0,10 0,2 0,12 0,2 0,10 0,12 0,10 0,12 0,10 0,2 0,12 2,2 0 0,10 0,12 0,2 0,10 0,2 0,10 0,2 0,12 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2
0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,12 0,10 0,2 0,10 0,12 0,2 0,10 0,2 0,10 0,12 0,2 0,10 0,2 0,10 0,2 0,12 0,10 0,2 0,10 0,2 0,10 0,2 0,10 0,2 0,12 0,10 0,12 0,2 0,12 0,10 0,12 0,2 0,10 0,2 0,10 0,2 0,10
0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,2 0,12 0,2 0,6 0,2 0,6 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,6 0,2 0,12 0,2
0,2 0,12 0,2 0,6 0,2 0,6 0,2 0,12 0,2 0,12 0,2 0,6 0,2 0,12 0,2
0,12 0,2 0,6 0,2 12 0 0,1 0,2 0,6 0,12 0,2 0,1 0,2 0,12 0,6 0,2 0,12 0,2
0,2  0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,2 0,1 0,2 0,1 0,2 0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,12 0,1 0,2 0,1 0,12 0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,1 0,6 0,2 0,12
0,6 0,2 . 0,6   0,2 0,6
0,2 0,6 0,2  0,6  0,2 0,6 0,2 0,6 0,2 0,6 0,2 . 0,6 0,2 0,6 0,2 0,6 0,2 0,6 0,2
0,2 0,6 8,2 0 15 /0 0,6 0,2 . 0,6 0,2   0,6 0,2 8+0 0,6 0,2 . 0,6 0,2
0,2    8 0 15/0 . .  0,8 0,2   .
0,2  8+0 8 15/ 0   . 0,9 0,2 0,8 0,2 . .
0,2  8 15.-/ 0 8 0 0,9 0,2     0,8 0,2 . .
0,2 . 8 15(0 4 0 8 0 .  8 0  8*0 0,8 4  0,2  
0,2  15 -. 4 0.4 8 4  0 0,8  4 0,2 . 8 0 8*0   8 0 9.-.0 .
0,2 8 0 8 15(-,4 0 15_4 0 4 0 8 0 8 0.   4,8 ^__^0 0,2 . 9(@ @)0 8+0 8 0 
0,2 . 15( 0 4 15_(})8 4 0 . 0,9 0,2 8 0 4 4,8 ______/(oo)0 0,2  9 0  . 9\0 9\-/0 9/0
0,2 8*0 15) |-/`(8 0 0,9 0,2 . 4\4,8/( /(__)0 0,2 8 0 9--/0 9\--0  
0,2 15\| \\ ''_\8 0 .    0,8 4|w____||0 0,2 . 8 0 9\ /0
0,1 0,2 0,1   15|_/M'-15,2`\cD0 0,1 0,2 8+0 0,1 4|| |4,2|0 0,1 0,2 0,1 9_Y_0 0,2 .
0,1 0,4 0,1 0,2 0,1 0,4 0,1 0,2 15\\ 0 0,1 0,9 0,1 0,2 0,4 0,1 0,2 .  0,1 0,8  0,1 0,2   0,9 0,1 0,2
0,1 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,1 0,2 15cD0 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2. 0,1 0,4 0,1 0,2 0,1 0,8    0,1 0,2 0,9    0,1 0,2
0,2 0,1 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 8,2 0  0,1 0,4 0,1 0,2 0,1 0,8 0,1   0,8  0,1 0,2 0,9 0,1  0,9 0,1 0,2
0,2 0,4 0,8 0,4 0,1 0,2 8+0 0,1 0,4 0,8 0,4 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2   0,1 0,4 0,1 0,2 0,1 0,8 0,1 0,2 . 0,1 0,8  0,1 0,2 0,9 0,1 0,2   0,1 0,9 0,1 0,2
0,2 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2 . 0,1 0,4 0,1 0,2 0,1 0,8 0,1 0,2   0,1 0,8 0,1 0,8 0,1 0,2 0,9 0,1 0,2  .  0,1 0,9 0,1 0,2
0,2 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,2 0,1 0,9 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2   0,1 0,4 0,1 0,2 0,1 0,8 0,1 0,2  0,1 0,8 0,1 0,2 0,1 0,8 0,1 0,2 0,9 0,1 0,2   0,1 0,9 0,1 0,2
0,2 0,4 0,8 0,4 0,1 0,2 .0,1 0,4 0,8 0,4 0,2 0,1 0,9 0,1 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2 0,1   0,4 0,1 0,2 0,1 0,8  0,1 0,2.  0,1 0,8 0,1 0,2 0,1 0,8 0,1 0,2 0,9 0,1   0,9  0,1 0,2
0,2 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,2 0,1 0,9 0,1 0,2 . 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,4   0,1 0,2 0,1 0,8 0,1 0,2  0,1 0,8  0,1 0,2 0,1 0,8 0,1 0,2 0,9    0,1 0,2 
0,2 1,1 0,4 0,8 0,4 0,1 0,2 0,1 0,4 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2   0,1 0,8 0,1 0,2 0,1 0,8   0,1 0,2 0,1 0,8   0,1 0,2 0,9 0,1 0,9  0,1 0,2 .
0,2 0,1 0,4 0,8 0,1 0,2 . 0,1 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2  .  0,1 0,8 0,1 0,8 0,1 0,2 . 0,1 0,8 0,1 0,2 0,9 0,1 0,2 0,1 0,9  0,1 0,2 
0,2 0,1 0,4 0,8 0,1 0,2 0,1 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,9 0,1 0,2 0,4 0,8 0,4 0,1 0,2   0,1 0,8 0,1 0,2 0,1 0,8 0,1 0,2 0,9 0,1 0,2 0,1 0,9   0,1 0,2
0,2 0,1 0,4  0,8 0,1 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,1 0,9 0,1 0,2 0,4 0,8  0,4 0,1 0,2   0,1 0,8 0,1 0,8 0,1 0,2 0,9 0,1 0,2 .  0,1 0,9  0,1 0,2
0,2  0,1 0,4 0,8 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,1 0,9 0,1 0,2 8.0,4 0,8  0,4 0,1 0,2 0,1 0,8 0,1 0,2 0,9 0,1  0,2  0,1 0,9 0,1 0,2
0,2 0,1 0,4 0,1 0,2 0,1 0,9 0,1 0,2 0,1 0,9  0,1 0,2 0,4 0,1 0,2 0,1 0,8 0,1 0,2 0,9 0,1 0,2  0,1 0,9 0,1
0,2            .  14 0  
0,2             .
0,2  ' 8+0   .14 0 .  
0,2 8*0   .     14 0   . 
0,2 8*0 '   14 0 . .
0,2 8*0 8*0 14 0      
0,2  .    8*0 14 0 14 0 14 0 .
0,2   8;0 14 0   8*0 . .
0,2  - --8+0- -8.0      14 0 8 0  
0,2 8!0 14 0 8 0 .
0,2 8*0 8'*0 . . . 14 0 .
0,2 8*0 8+0 14 0 . . 8+0
0,2   8*0 . .   14 0 8 .0
0,2   8*0 . . 14 0 .
0,2 8*0       . 14 0 14 0.14 0 
0,2 8*0 . 14 0 .           
0,2     . .     .14  0               .
0,2     .   14 0     . . . 
0,2     .   8+0   .        . 14 0         
0,2 .     14 0.       8*0 
0,2 . .            14 0 14 0    8*0 8 0. 
0,2 .          14 0  14 0    8 0  
0,2 8*0      8*0              14 0 14 0 14 0     8*0 8 0.8 0 8*0
0,2  8.2 0 .  14 0 14 0 14 0 14 0   
0,2    .  14 0 14  0 14 0  
0,2 . 2 0  8 0 14 0 14 0       
0,2 14 0 14 0   
8,2 0 2 0 14 0 14 0   
0,2s  14 8 0    14 0 
0,2p    14 0
0,2o 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2k0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2
0,2e0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12 0,2 0,12
0,12 0,2 0,12 1.
0,2 0,12 1.

View File

@ -1,42 +1,57 @@
<template>
<div>
<vue-draggable-resizable
@dragging="onDrag"
style="z-index:5;min-height:500px;"
:min-width=200
:max-width=500
:min-height=500
:max-height=700
:x=800
<vue-draggable-resizable
@dragging="onDrag"
style="z-index: 5; min-height: 500px"
:min-width="200"
:max-width="500"
:min-height="500"
:max-height="700"
:x="800"
>
<div style="height:100%;min-height:500px;max-height:700px;">
<t-card header="Tools and Stuff" style="height:100%;">
<t-button
type="button"
v-for="(value, keyColors) in mircColors"
:key="keyColors"
:style="makeColorButtonClass(value)"
class="border-gray-300 m-1"
@click="onColorChange(value)"
></t-button>
<h5>Brushes and Shit</h5>
<t-button
type="button"
v-for="(value, keyToolbar) in toolbar"
:key="keyToolbar+50"
:style="makeToolbarButtonClass(value)"
class="border-gray-300 m-1"
v-html="value.icon"
@click="onToolbarChange(value)"
></t-button>
<div style="height: 100%; min-height: 500px; max-height: 700px">
<t-card header="Tools and Stuff" style="height: 100%">
<t-button
type="button"
v-for="(value, keyColors) in mircColors"
:key="keyColors"
:style="makeColorButtonClass(value)"
class="border-gray-300 m-1"
@click="onColorChange(keyColors)"
></t-button>
</t-card>
</div>
<hr />
<t-button
type="button"
:style="makeColorButtonClass(toolbarState.currentColorFg)"
class="border-gray-300 m-1"
id="currentColorFg"
@click="startColorChange(0)"
></t-button>
<t-button
type="button"
:style="makeColorButtonClass(toolbarState.currentColorBg)"
class="border-gray-300 m-1"
id="currentColorBg"
@click="startColorChange(1)"
></t-button>
<h5>Brushes and Shit</h5>
<t-button
type="button"
v-for="(value, keyToolbar) in toolbar"
:key="keyToolbar + 50"
:style="makeToolbarButtonClass(value)"
class="border-gray-300 m-1"
v-html="value.icon"
@click="onToolbarChange(value)"
></t-button>
</t-card>
</div>
</vue-draggable-resizable>
</div>
</template>
<script>
@ -45,24 +60,28 @@ export default {
this.mircColors = this.$store.state.mircColors;
this.charCodes = this.$store.state.charCodes;
this.toolbar = this.$store.state.toolbar;
this.toolbarState = this.$store.state.toolbarState;
this.toolbarState = this.$store.getters.getToolbarState;
},
name: "Toolbar",
data: () => ({
mircColors: null,
charCodes: null,
toolbar: null,
toolbarState: {
currentColor: 0,
currentTool : null,
},
floating: {
width: 0,
height: 0,
x: 100,
y: 100,
},
toolbarState: {
currentColorFg: 0,
currentColorBg: 1,
currentColor: 0,
isUpdating: false,
currentTool: null,
},
isUpdatingFg: 0,
}),
methods: {
onResize(x, y, width, height) {
@ -76,17 +95,42 @@ export default {
this.floating.y = y;
},
onToolbarChange(item) {
this.$store.commit('changeTool', item.name);
},
onColorChange(item) {
this.$store.commit('changeColor', item);
this.$store.commit("changeTool", item.name);
},
makeColorButtonClass(color) {
return `background-color: ${color} !important;width:25px;height:25px;`;
return `background-color: ${ color } !important;width:25px;height:25px;`;
},
makeToolbarButtonClass() {
return `background-color: grey !important;width:25px;height:25px;`;
},
startColorChange(type){
this.toolbarState.isUpdating = true
this.isUpdatingFg = type
},
onColorChange(color) {
if (this.toolbarState.isUpdating) {
this.updateColor(this.isUpdatingFg, color)
}
},
updateColor(type, color) {
if (this.toolbarState.isUpdating) {
switch (type) {
// FG
case 0:
this.$store.commit("changeColorFg", color);
break;
// BG
case 1:
this.$store.commit("changeColorBg", color);
break;
}
this.toolbarState.isUpdating = false;
}
},
},
};
</script>

View File

@ -53,7 +53,10 @@ export default new Vuex.Store({
},
],
toolbarState: {
currentColorFg: 0,
currentColorBg: 0,
currentColor: 0,
isUpdating: false,
currentTool : null,
},
blockSizeMultiplier: 1,
@ -62,8 +65,13 @@ export default new Vuex.Store({
changeTab(state, payload) {
state.tab = payload;
},
changeColor(state, payload) {
state.toolbarState.currentColor = payload;
changeColorFg(state, payload) {
state.toolbarState.currentColorFg = payload;
state.toolbarState.isUpdating = false
},
changeColorBg(state, payload) {
state.toolbarState.currentColorBg = payload;
state.toolbarState.isUpdating = false
},
changeTool(state, payload) {
state.toolbarState.currentTool = payload;
@ -73,8 +81,9 @@ export default new Vuex.Store({
},
},
getters: {
getColor: state => state.toolbarState.currentColor,
getTool: state => state.toolbarState.currentTool,
getToolbarState: state => state.toolbarState,
getFgColor: state => state.toolbarState.currentColorFg,
getBgColor: state => state.toolbarState.currentColorBg,
currentTab: state => state.tab,
charCodes: state => state.charCodes,
mircColors: state => state.mircColors,

View File

@ -4,13 +4,9 @@
{{ currentAsciibirdMeta.title }} ({{ currentAsciibirdMeta.width }} /
{{ currentAsciibirdMeta.height }})
</h1>
<!-- <pre><small>{{ JSON.stringify(currentAsciibirdMeta) }}</small></pre> -->
<!-- @mousedown="processMouseDown"
@mousemove="processMouseMove"
@mouseup="processMouseUp" -->
<div id="canvas-area" style="position: relative">
<span>{{x}}, {{y}}</span>
<canvas
ref="grid"
id="grid"
@ -25,6 +21,9 @@
:width="canvas.width"
:height="canvas.height"
class="canvas"
@mousemove="showCoordinates"
@mousedown="cavnasMouseDown"
@mouseup="cavnasMouseUp"
></canvas>
</div>
@ -68,6 +67,7 @@ export default {
mounted() {
this.currentAsciibirdMeta = this.$store.getters.currentAscii;
this.mircColors = this.$store.getters.mircColors;
},
created() {},
data: () => ({
@ -93,6 +93,8 @@ export default {
height: 2048,
},
gridCtx: null,
x: 0,
y: 0
}),
computed: {
getCurrentTab() {
@ -119,7 +121,7 @@ export default {
},
watch: {
getCurrentTab(val, old) {
this.onChangeTab( val );
this.onChangeTab();
},
shouldRefresh(val,old) {
@ -130,18 +132,6 @@ export default {
watchToolChange(val) {
console.log(JSON.stringify(val))
}
// watchBlocksChange(val, old) {
// if (this.$refs[this.generate CanvasId]) {
// this.ctx = this.$refs.canvas.getContext("2d");
// this.gridCtx = this.$refs.grid.getContext("2d");
// this.drawGrid();
// this.redrawCanvas();
// this.canvas.width = val.width * val.blockWidth;
// this.canvas.height = val.height * val.blockHeight;
// }
// },
},
methods: {
getMircColor(index) {
@ -171,16 +161,9 @@ export default {
this.drawGrid();
this.redrawCanvas();
} else {
}
// this.drawGrid();
// this.redrawCanvas();
}
},
redrawCanvas() {
// console.log("Canvas redraw");
// Clears the whole canvas
if (this.ctx) {
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
@ -197,13 +180,9 @@ export default {
// Draws the actual rectangle
let canvasX = 0;
let canvasY = 0;
let blockCanvasX = 0;
let blockCanvasY = 0;
let curBlock = {};
this.ctx.font = "8px Mono";
this.ctx.font = "12px Deja Vu Sans Mono";
for (y = 0; y < this.currentAsciibirdMeta.height+1; y++) {
canvasY = BLOCK_HEIGHT * y;
@ -231,7 +210,7 @@ export default {
this.ctx.fillStyle = "#000000";
}
this.ctx.fillText(curBlock.char, canvasX, canvasY + BLOCK_HEIGHT - 3);
this.ctx.fillText(curBlock.char, canvasX , canvasY + BLOCK_HEIGHT - 2);
this.ctx.stroke();
}
}
@ -250,15 +229,35 @@ export default {
this.startPosition.y = e.clientY;
},
processMouseMove(e) {
if (this.selectionMode) {
// if (this.selectionMode) {
}
// }
},
processMouseUp(e) {
this.selectionMode = false;
this.startPosition.x = null;
this.startPosition.y = null;
},
showCoordinates(e) {
if (e.offsetX >= 0) {
this.x = e.offsetX;
}
if (e.offsetY >= 0) {
this.y = e.offsetY;
}
this.x = Math.floor(this.x / this.currentAsciibirdMeta.blockWidth)
this.y = Math.floor(this.y / this.currentAsciibirdMeta.blockHeight)
},
cavnasMouseDown() {
this.currentAsciibirdMeta.blocks[this.y][this.x].bg = this.$store.getters.getBgColor
},
cavnasMouseUp() {
// this.currentAsciibirdMeta.blocks[this.y][this.x].
this.redrawCanvas();
},
drawGrid() {
const width = 5000;
const height = 5000;