UNPKG

cassidy-styler

Version:

A versatile library to style your texts using various Unicode fonts and formatting options.

1 lines 58.4 kB
{"version":3,"sources":["../src/font.ts","../src/index.ts"],"sourcesContent":["// Font Mapping Module ni Liane at Nica\r\n//added reverse map\r\nconst fonts: Record<string, Record<string, string>> = {\r\n widespace: {\r\n a: \"a\",\r\n b: \"b\",\r\n c: \"c\",\r\n d: \"d\",\r\n e: \"e\",\r\n f: \"f\",\r\n g: \"g\",\r\n h: \"h\",\r\n i: \"i\",\r\n\r\n j: \"j\",\r\n k: \"k\",\r\n l: \"l\",\r\n m: \"m\",\r\n n: \"n\",\r\n o: \"o\",\r\n p: \"p\",\r\n q: \"q\",\r\n r: \"r\",\r\n\r\n s: \"s\",\r\n t: \"t\",\r\n u: \"u\",\r\n v: \"v\",\r\n w: \"w\",\r\n x: \"x\",\r\n y: \"y\",\r\n z: \"z\",\r\n\r\n A: \"A\",\r\n B: \"B\",\r\n C: \"C\",\r\n D: \"D\",\r\n E: \"E\",\r\n F: \"F\",\r\n G: \"G\",\r\n H: \"H\",\r\n I: \"I\",\r\n\r\n J: \"J\",\r\n K: \"K\",\r\n L: \"L\",\r\n M: \"M\",\r\n N: \"N\",\r\n O: \"O\",\r\n P: \"P\",\r\n Q: \"Q\",\r\n R: \"R\",\r\n\r\n S: \"S\",\r\n T: \"T\",\r\n U: \"U\",\r\n V: \"V\",\r\n W: \"W\",\r\n X: \"X\",\r\n Y: \"Y\",\r\n Z: \"Z\",\r\n\r\n \" \": \" \",\r\n },\r\n serif: {\r\n a: \"𝐚\",\r\n b: \"𝐛\",\r\n c: \"𝐜\",\r\n d: \"𝐝\",\r\n e: \"𝐞\",\r\n f: \"𝐟\",\r\n g: \"𝐠\",\r\n h: \"𝐡\",\r\n i: \"𝐢\",\r\n\r\n j: \"𝐣\",\r\n k: \"𝐤\",\r\n l: \"𝐥\",\r\n m: \"𝐦\",\r\n n: \"𝐧\",\r\n o: \"𝐨\",\r\n p: \"𝐩\",\r\n q: \"𝐪\",\r\n r: \"𝐫\",\r\n\r\n s: \"𝐬\",\r\n t: \"𝐭\",\r\n u: \"𝐮\",\r\n v: \"𝐯\",\r\n w: \"𝐰\",\r\n x: \"𝐱\",\r\n y: \"𝐲\",\r\n z: \"𝐳\",\r\n\r\n A: \"𝐀\",\r\n B: \"𝐁\",\r\n C: \"𝐂\",\r\n D: \"𝐃\",\r\n E: \"𝐄\",\r\n F: \"𝐅\",\r\n G: \"𝐆\",\r\n H: \"𝐇\",\r\n I: \"𝐈\",\r\n\r\n J: \"𝐉\",\r\n K: \"𝐊\",\r\n L: \"𝐋\",\r\n M: \"𝐌\",\r\n N: \"𝐍\",\r\n O: \"𝐎\",\r\n P: \"𝐏\",\r\n Q: \"𝐐\",\r\n R: \"𝐑\",\r\n\r\n S: \"𝐒\",\r\n T: \"𝐓\",\r\n U: \"𝐔\",\r\n V: \"𝐕\",\r\n W: \"𝐖\",\r\n X: \"𝐗\",\r\n Y: \"𝐘\",\r\n Z: \"𝐙\",\r\n\r\n \" \": \" \",\r\n },\r\n\r\n handwriting: {\r\n a: \"𝓪\",\r\n b: \"𝓫\",\r\n c: \"𝓬\",\r\n d: \"𝓭\",\r\n e: \"𝓮\",\r\n f: \"𝓯\",\r\n g: \"𝓰\",\r\n h: \"𝓱\",\r\n i: \"𝓲\",\r\n\r\n j: \"𝓳\",\r\n k: \"𝓴\",\r\n l: \"𝓵\",\r\n m: \"𝓶\",\r\n n: \"𝓷\",\r\n o: \"𝓸\",\r\n p: \"𝓹\",\r\n q: \"𝓺\",\r\n r: \"𝓻\",\r\n\r\n s: \"𝓼\",\r\n t: \"𝓽\",\r\n u: \"𝓾\",\r\n v: \"𝓿\",\r\n w: \"𝔀\",\r\n x: \"𝔁\",\r\n y: \"𝔂\",\r\n z: \"𝔃\",\r\n\r\n A: \"𝓐\",\r\n B: \"𝓑\",\r\n C: \"𝓒\",\r\n D: \"𝓓\",\r\n E: \"𝓔\",\r\n F: \"𝓕\",\r\n G: \"𝓖\",\r\n H: \"𝓗\",\r\n I: \"𝓘\",\r\n\r\n J: \"𝓙\",\r\n K: \"𝓚\",\r\n L: \"𝓛\",\r\n M: \"𝓜\",\r\n N: \"𝓝\",\r\n O: \"𝓞\",\r\n P: \"𝓟\",\r\n Q: \"𝓠\",\r\n R: \"𝓡\",\r\n\r\n S: \"𝓢\",\r\n T: \"𝓣\",\r\n U: \"𝓤\",\r\n V: \"𝓥\",\r\n W: \"𝓦\",\r\n X: \"𝓧\",\r\n Y: \"𝓨\",\r\n Z: \"𝓩\",\r\n\r\n \" \": \" \",\r\n },\r\n\r\n scriptbold: {\r\n a: \"𝒂\",\r\n b: \"𝒃\",\r\n c: \"𝒄\",\r\n d: \"𝒅\",\r\n e: \"𝒆\",\r\n f: \"𝒇\",\r\n g: \"𝒈\",\r\n h: \"𝒉\",\r\n i: \"𝒊\",\r\n\r\n j: \"𝒋\",\r\n k: \"𝒌\",\r\n l: \"𝒍\",\r\n m: \"𝒎\",\r\n n: \"𝒏\",\r\n o: \"𝒐\",\r\n p: \"𝒑\",\r\n q: \"𝒒\",\r\n r: \"𝒓\",\r\n\r\n s: \"𝒔\",\r\n t: \"𝒕\",\r\n u: \"𝒖\",\r\n v: \"𝒗\",\r\n w: \"𝒘\",\r\n x: \"𝒙\",\r\n y: \"𝒚\",\r\n z: \"𝒛\",\r\n\r\n A: \"𝑨\",\r\n B: \"𝑩\",\r\n C: \"𝑪\",\r\n D: \"𝑫\",\r\n E: \"𝑬\",\r\n F: \"𝑭\",\r\n G: \"𝑮\",\r\n H: \"𝑯\",\r\n I: \"𝑰\",\r\n\r\n J: \"𝑱\",\r\n K: \"𝑲\",\r\n L: \"𝑳\",\r\n M: \"𝑴\",\r\n N: \"𝑵\",\r\n O: \"𝑶\",\r\n P: \"𝑷\",\r\n Q: \"𝑸\",\r\n R: \"𝑹\",\r\n\r\n S: \"𝑺\",\r\n T: \"𝑻\",\r\n U: \"𝑼\",\r\n V: \"𝑽\",\r\n W: \"𝑾\",\r\n X: \"𝑿\",\r\n Y: \"𝒀\",\r\n Z: \"𝒁\",\r\n\r\n \" \": \" \",\r\n },\r\n\r\n script: {\r\n a: \"𝑎\",\r\n b: \"𝑏\",\r\n c: \"𝑐\",\r\n d: \"𝑑\",\r\n e: \"𝑒\",\r\n f: \"𝑓\",\r\n g: \"𝑔\",\r\n h: \"ℎ\",\r\n i: \"𝑖\",\r\n\r\n j: \"𝑗\",\r\n k: \"𝑘\",\r\n l: \"𝑙\",\r\n m: \"𝑚\",\r\n n: \"𝑛\",\r\n o: \"𝑜\",\r\n p: \"𝑝\",\r\n q: \"𝑞\",\r\n r: \"𝑟\",\r\n\r\n s: \"𝑠\",\r\n t: \"𝑡\",\r\n u: \"𝑢\",\r\n v: \"𝑣\",\r\n w: \"𝑤\",\r\n x: \"𝑥\",\r\n y: \"𝑦\",\r\n z: \"𝑧\",\r\n\r\n A: \"𝐴\",\r\n B: \"𝐵\",\r\n C: \"𝐶\",\r\n D: \"𝐷\",\r\n E: \"𝐸\",\r\n F: \"𝐹\",\r\n G: \"𝐺\",\r\n H: \"𝐻\",\r\n I: \"𝐼\",\r\n\r\n J: \"𝐽\",\r\n K: \"𝐾\",\r\n L: \"𝐿\",\r\n M: \"𝑀\",\r\n N: \"𝑁\",\r\n O: \"𝑂\",\r\n P: \"𝑃\",\r\n Q: \"𝑄\",\r\n R: \"𝑅\",\r\n\r\n S: \"𝑆\",\r\n T: \"𝑇\",\r\n U: \"𝑈\",\r\n V: \"𝑉\",\r\n W: \"𝑊\",\r\n X: \"𝑋\",\r\n Y: \"𝑌\",\r\n Z: \"𝑍\",\r\n\r\n \" \": \" \",\r\n },\r\n\r\n typewriter: {\r\n a: \"𝚊\",\r\n b: \"𝚋\",\r\n c: \"𝚌\",\r\n d: \"𝚍\",\r\n e: \"𝚎\",\r\n f: \"𝚏\",\r\n g: \"𝚐\",\r\n h: \"𝚑\",\r\n i: \"𝚒\",\r\n\r\n j: \"𝚓\",\r\n k: \"𝚔\",\r\n l: \"𝚕\",\r\n m: \"𝚖\",\r\n n: \"𝚗\",\r\n o: \"𝚘\",\r\n p: \"𝚙\",\r\n q: \"𝚚\",\r\n r: \"𝚛\",\r\n\r\n s: \"𝚜\",\r\n t: \"𝚝\",\r\n u: \"𝚞\",\r\n v: \"𝚟\",\r\n w: \"𝚠\",\r\n x: \"𝚡\",\r\n y: \"𝚢\",\r\n z: \"𝚣\",\r\n\r\n A: \"𝙰\",\r\n B: \"𝙱\",\r\n C: \"𝙲\",\r\n D: \"𝙳\",\r\n E: \"𝙴\",\r\n F: \"𝙵\",\r\n G: \"𝙶\",\r\n H: \"𝙷\",\r\n I: \"𝙸\",\r\n\r\n J: \"𝙹\",\r\n K: \"𝙺\",\r\n L: \"𝙻\",\r\n M: \"𝙼\",\r\n N: \"𝙽\",\r\n O: \"𝙾\",\r\n P: \"𝙿\",\r\n Q: \"𝚀\",\r\n R: \"𝚁\",\r\n\r\n S: \"𝚂\",\r\n T: \"𝚃\",\r\n U: \"𝚄\",\r\n V: \"𝚅\",\r\n W: \"𝚆\",\r\n X: \"𝚇\",\r\n Y: \"𝚈\",\r\n Z: \"𝚉\",\r\n\r\n \" \": \" \",\r\n },\r\n bold: {\r\n 0: \"𝟬\",\r\n 1: \"𝟭\",\r\n 2: \"𝟮\",\r\n 3: \"𝟯\",\r\n 4: \"𝟰\",\r\n 5: \"𝟱\",\r\n 6: \"𝟲\",\r\n 7: \"𝟳\",\r\n 8: \"𝟴\",\r\n 9: \"𝟵\",\r\n a: \"𝗮\",\r\n b: \"𝗯\",\r\n c: \"𝗰\",\r\n d: \"𝗱\",\r\n e: \"𝗲\",\r\n f: \"𝗳\",\r\n g: \"𝗴\",\r\n h: \"𝗵\",\r\n i: \"𝗶\",\r\n j: \"𝗷\",\r\n k: \"𝗸\",\r\n l: \"𝗹\",\r\n m: \"𝗺\",\r\n n: \"𝗻\",\r\n o: \"𝗼\",\r\n p: \"𝗽\",\r\n q: \"𝗾\",\r\n r: \"𝗿\",\r\n s: \"𝘀\",\r\n t: \"𝘁\",\r\n u: \"𝘂\",\r\n v: \"𝘃\",\r\n w: \"𝘄\",\r\n x: \"𝘅\",\r\n y: \"𝘆\",\r\n z: \"𝘇\",\r\n A: \"𝗔\",\r\n B: \"𝗕\",\r\n C: \"𝗖\",\r\n D: \"𝗗\",\r\n E: \"𝗘\",\r\n F: \"𝗙\",\r\n G: \"𝗚\",\r\n H: \"𝗛\",\r\n I: \"𝗜\",\r\n J: \"𝗝\",\r\n K: \"𝗞\",\r\n L: \"𝗟\",\r\n M: \"𝗠\",\r\n N: \"𝗡\",\r\n O: \"𝗢\",\r\n P: \"𝗣\",\r\n Q: \"𝗤\",\r\n R: \"𝗥\",\r\n S: \"𝗦\",\r\n T: \"𝗧\",\r\n U: \"𝗨\",\r\n V: \"𝗩\",\r\n W: \"𝗪\",\r\n X: \"𝗫\",\r\n Y: \"𝗬\",\r\n Z: \"𝗭\",\r\n },\r\n fancy: {\r\n 0: \"𝟢\",\r\n 1: \"𝟣\",\r\n 2: \"𝟤\",\r\n 3: \"𝟥\",\r\n 4: \"𝟦\",\r\n 5: \"𝟧\",\r\n 6: \"𝟨\",\r\n 7: \"𝟩\",\r\n 8: \"𝟪\",\r\n 9: \"𝟫\",\r\n a: \"𝖺\",\r\n b: \"𝖻\",\r\n c: \"𝖼\",\r\n d: \"𝖽\",\r\n e: \"𝖾\",\r\n f: \"𝖿\",\r\n g: \"𝗀\",\r\n h: \"𝗁\",\r\n i: \"𝗂\",\r\n j: \"𝗃\",\r\n k: \"𝗄\",\r\n l: \"𝗅\",\r\n m: \"𝗆\",\r\n n: \"𝗇\",\r\n o: \"𝗈\",\r\n p: \"𝗉\",\r\n q: \"𝗊\",\r\n r: \"𝗋\",\r\n s: \"𝗌\",\r\n t: \"𝗍\",\r\n u: \"𝗎\",\r\n v: \"𝗏\",\r\n w: \"𝗐\",\r\n x: \"𝗑\",\r\n y: \"𝗒\",\r\n z: \"𝗓\",\r\n A: \"𝖠\",\r\n B: \"𝖡\",\r\n C: \"𝖢\",\r\n D: \"𝖣\",\r\n E: \"𝖤\",\r\n F: \"𝖥\",\r\n G: \"𝖦\",\r\n H: \"𝖧\",\r\n I: \"𝖨\",\r\n J: \"𝖩\",\r\n K: \"𝖪\",\r\n L: \"𝖫\",\r\n M: \"𝖬\",\r\n N: \"𝖭\",\r\n O: \"𝖮\",\r\n P: \"𝖯\",\r\n Q: \"𝖰\",\r\n R: \"𝖱\",\r\n S: \"𝖲\",\r\n T: \"𝖳\",\r\n U: \"𝖴\",\r\n V: \"𝖵\",\r\n W: \"𝖶\",\r\n X: \"𝖷\",\r\n Y: \"𝖸\",\r\n Z: \"𝖹\",\r\n },\r\n get redux() {\r\n return {\r\n ...this.fancy,\r\n a: \"ᥲ\",\r\n b: \"ᑲ\",\r\n c: \"ᥴ\",\r\n e: \"ᥱ\",\r\n f: \"𝖿\",\r\n h: \"һ\",\r\n j: \"ȷ\",\r\n l: \"ᥣ\",\r\n n: \"ᥒ\",\r\n o: \"᥆\",\r\n p: \"⍴\",\r\n q: \"𝗊\",\r\n t: \"𝗍\",\r\n u: \"ᥙ\",\r\n v: \"᥎\",\r\n w: \"ᥕ\",\r\n x: \"᥊\",\r\n };\r\n },\r\n moody: {\r\n 0: \"𝟶\",\r\n 1: \"𝟷\",\r\n 2: \"𝟸\",\r\n 3: \"𝟹\",\r\n 4: \"𝟺\",\r\n 5: \"𝟻\",\r\n 6: \"𝟼\",\r\n 7: \"𝟽\",\r\n 8: \"𝟾\",\r\n 9: \"𝟿\",\r\n a: \"𝚊\",\r\n b: \"𝚋\",\r\n c: \"𝚌\",\r\n d: \"𝚍\",\r\n e: \"𝚎\",\r\n f: \"𝚏\",\r\n g: \"𝚐\",\r\n h: \"𝚑\",\r\n i: \"𝚒\",\r\n j: \"𝚓\",\r\n k: \"𝚔\",\r\n l: \"𝚕\",\r\n m: \"𝚖\",\r\n n: \"𝚗\",\r\n o: \"𝚘\",\r\n p: \"𝚙\",\r\n q: \"𝚚\",\r\n r: \"𝚛\",\r\n s: \"𝚜\",\r\n t: \"𝚝\",\r\n u: \"𝚞\",\r\n v: \"𝚟\",\r\n w: \"𝚠\",\r\n x: \"𝚡\",\r\n y: \"𝚢\",\r\n z: \"𝚣\",\r\n A: \"𝐀\",\r\n B: \"𝐁\",\r\n C: \"𝐂\",\r\n D: \"𝐃\",\r\n E: \"𝐄\",\r\n F: \"𝐅\",\r\n G: \"𝐆\",\r\n H: \"𝐇\",\r\n I: \"𝐈\",\r\n J: \"𝐉\",\r\n K: \"𝐊\",\r\n L: \"𝐋\",\r\n M: \"𝐌\",\r\n N: \"𝐍\",\r\n O: \"𝐎\",\r\n P: \"𝐏\",\r\n Q: \"𝐐\",\r\n R: \"𝐑\",\r\n S: \"𝐒\",\r\n T: \"𝐓\",\r\n U: \"𝐔\",\r\n V: \"𝐕\",\r\n W: \"𝐖\",\r\n X: \"𝐗\",\r\n Y: \"𝐘\",\r\n Z: \"𝐙\",\r\n },\r\n none: {},\r\n bold_italic: {\r\n A: \"𝘼\",\r\n B: \"𝘽\",\r\n C: \"𝘾\",\r\n D: \"𝘿\",\r\n E: \"𝙀\",\r\n F: \"𝙁\",\r\n G: \"𝙂\",\r\n H: \"𝙃\",\r\n I: \"𝙄\",\r\n J: \"𝙅\",\r\n K: \"𝙆\",\r\n L: \"𝙇\",\r\n M: \"𝙈\",\r\n N: \"𝙉\",\r\n O: \"𝙊\",\r\n P: \"𝙋\",\r\n Q: \"𝙌\",\r\n R: \"𝙍\",\r\n S: \"𝙎\",\r\n T: \"𝙏\",\r\n U: \"𝙐\",\r\n V: \"𝙑\",\r\n W: \"𝙒\",\r\n X: \"𝙓\",\r\n Y: \"𝙔\",\r\n Z: \"𝙕\",\r\n a: \"𝙖\",\r\n b: \"𝙗\",\r\n c: \"𝙘\",\r\n d: \"𝙙\",\r\n e: \"𝙚\",\r\n f: \"𝙛\",\r\n g: \"𝙜\",\r\n h: \"𝙝\",\r\n i: \"𝙞\",\r\n j: \"𝙟\",\r\n k: \"𝙠\",\r\n l: \"𝙡\",\r\n m: \"𝙢\",\r\n n: \"𝙣\",\r\n o: \"𝙤\",\r\n p: \"𝙥\",\r\n q: \"𝙦\",\r\n r: \"𝙧\",\r\n s: \"𝙨\",\r\n t: \"𝙩\",\r\n u: \"𝙪\",\r\n v: \"𝙫\",\r\n w: \"𝙬\",\r\n x: \"𝙭\",\r\n y: \"𝙮\",\r\n z: \"𝙯\",\r\n 0: \"𝟬\",\r\n 1: \"𝟭\",\r\n 2: \"𝟮\",\r\n 3: \"𝟯\",\r\n 4: \"𝟰\",\r\n 5: \"𝟱\",\r\n 6: \"𝟲\",\r\n 7: \"𝟳\",\r\n 8: \"𝟴\",\r\n 9: \"𝟵\",\r\n },\r\n fancy_italic: {\r\n A: \"𝘈\",\r\n B: \"𝘉\",\r\n C: \"𝘊\",\r\n D: \"𝘋\",\r\n E: \"𝘌\",\r\n F: \"𝘍\",\r\n G: \"𝘎\",\r\n H: \"𝘏\",\r\n I: \"𝘐\",\r\n J: \"𝘑\",\r\n K: \"𝘒\",\r\n L: \"𝘓\",\r\n M: \"𝘔\",\r\n N: \"𝘕\",\r\n O: \"𝘖\",\r\n P: \"𝘗\",\r\n Q: \"𝘘\",\r\n R: \"𝘙\",\r\n S: \"𝘚\",\r\n T: \"𝘛\",\r\n U: \"𝘜\",\r\n V: \"𝘝\",\r\n W: \"𝘞\",\r\n X: \"𝘟\",\r\n Y: \"𝘠\",\r\n Z: \"𝘡\",\r\n a: \"𝘢\",\r\n b: \"𝘣\",\r\n c: \"𝘤\",\r\n d: \"𝘥\",\r\n e: \"𝘦\",\r\n f: \"𝘧\",\r\n g: \"𝘨\",\r\n h: \"𝘩\",\r\n i: \"𝘪\",\r\n j: \"𝘫\",\r\n k: \"𝘬\",\r\n l: \"𝘭\",\r\n m: \"𝘮\",\r\n n: \"𝘯\",\r\n o: \"𝘰\",\r\n p: \"𝘱\",\r\n q: \"𝘲\",\r\n r: \"𝘳\",\r\n s: \"𝘴\",\r\n t: \"𝘵\",\r\n u: \"𝘶\",\r\n v: \"𝘷\",\r\n w: \"𝘸\",\r\n x: \"𝘹\",\r\n y: \"𝘺\",\r\n z: \"𝘻\",\r\n 0: \"𝟢\",\r\n 1: \"𝟣\",\r\n 2: \"𝟤\",\r\n 3: \"𝟥\",\r\n 4: \"𝟦\",\r\n 5: \"𝟧\",\r\n 6: \"𝟨\",\r\n 7: \"𝟩\",\r\n 8: \"𝟪\",\r\n 9: \"𝟫\",\r\n },\r\n serif2: {\r\n A: \"𝐀\",\r\n B: \"𝐁\",\r\n C: \"𝐂\",\r\n D: \"𝐃\",\r\n E: \"𝐄\",\r\n F: \"𝐅\",\r\n G: \"𝐆\",\r\n H: \"𝐇\",\r\n I: \"𝐈\",\r\n J: \"𝐉\",\r\n K: \"𝐊\",\r\n L: \"𝐋\",\r\n M: \"𝐌\",\r\n N: \"𝐍\",\r\n O: \"𝐎\",\r\n P: \"𝐏\",\r\n Q: \"𝐐\",\r\n R: \"𝐑\",\r\n S: \"𝐒\",\r\n T: \"𝐓\",\r\n U: \"𝐔\",\r\n V: \"𝐕\",\r\n W: \"𝐖\",\r\n X: \"𝐗\",\r\n Y: \"𝐘\",\r\n Z: \"𝐙\",\r\n a: \"𝐚\",\r\n b: \"𝐛\",\r\n c: \"𝐜\",\r\n d: \"𝐝\",\r\n e: \"𝐞\",\r\n f: \"𝐟\",\r\n g: \"𝐠\",\r\n h: \"𝐡\",\r\n i: \"𝐢\",\r\n j: \"𝐣\",\r\n k: \"𝐤\",\r\n l: \"𝐥\",\r\n m: \"𝐦\",\r\n n: \"𝐧\",\r\n o: \"𝐨\",\r\n p: \"𝐩\",\r\n q: \"𝐪\",\r\n r: \"𝐫\",\r\n s: \"𝐬\",\r\n t: \"𝐭\",\r\n u: \"𝐮\",\r\n v: \"𝐯\",\r\n w: \"𝐰\",\r\n x: \"𝐱\",\r\n y: \"𝐲\",\r\n z: \"𝐳\",\r\n 1: \"𝟏\",\r\n 2: \"𝟐\",\r\n 3: \"𝟑\",\r\n 4: \"𝟒\",\r\n 5: \"𝟓\",\r\n 6: \"𝟔\",\r\n 7: \"𝟕\",\r\n 8: \"𝟖\",\r\n 9: \"𝟗\",\r\n 0: \"𝟎\",\r\n },\r\n double_struck: {\r\n A: \"𝔸\",\r\n B: \"𝔹\",\r\n C: \"ℂ\",\r\n D: \"𝔻\",\r\n E: \"𝔼\",\r\n F: \"𝔽\",\r\n G: \"𝔾\",\r\n H: \"ℍ\",\r\n I: \"𝕀\",\r\n J: \"𝕁\",\r\n K: \"𝕂\",\r\n L: \"𝕃\",\r\n M: \"𝕄\",\r\n N: \"ℕ\",\r\n O: \"𝕆\",\r\n P: \"ℙ\",\r\n Q: \"ℚ\",\r\n R: \"ℝ\",\r\n S: \"𝕊\",\r\n T: \"𝕋\",\r\n U: \"𝕌\",\r\n V: \"𝕍\",\r\n W: \"𝕎\",\r\n X: \"𝕏\",\r\n Y: \"𝕐\",\r\n Z: \"ℤ\",\r\n a: \"𝕒\",\r\n b: \"𝕓\",\r\n c: \"𝕔\",\r\n d: \"𝕕\",\r\n e: \"𝕖\",\r\n f: \"𝕗\",\r\n g: \"𝕘\",\r\n h: \"𝕙\",\r\n i: \"𝕚\",\r\n j: \"𝕛\",\r\n k: \"𝕜\",\r\n l: \"𝕝\",\r\n m: \"𝕞\",\r\n n: \"𝕟\",\r\n o: \"𝕠\",\r\n p: \"𝕡\",\r\n q: \"𝕢\",\r\n r: \"𝕣\",\r\n s: \"𝕤\",\r\n t: \"𝕥\",\r\n u: \"𝕦\",\r\n v: \"𝕧\",\r\n w: \"𝕨\",\r\n x: \"𝕩\",\r\n y: \"𝕪\",\r\n z: \"𝕫\",\r\n 1: \"𝟙\",\r\n 2: \"𝟚\",\r\n 3: \"𝟛\",\r\n 4: \"𝟜\",\r\n 5: \"𝟝\",\r\n 6: \"𝟞\",\r\n 7: \"𝟟\",\r\n 8: \"𝟠\",\r\n 9: \"𝟡\",\r\n 0: \"𝟘\",\r\n },\r\n} as const;\r\n\r\ntype FontsProxy = {\r\n [K in FontTypes]: (text: string) => string;\r\n};\r\n\r\nexport type FontTypes =\r\n | \"bold\"\r\n | \"fancy\"\r\n | \"bold_italic\"\r\n | \"fancy_italic\"\r\n | \"redux\"\r\n | \"widespace\"\r\n | \"serif\"\r\n | \"handwriting\"\r\n | \"scriptbold\"\r\n | \"script\"\r\n | \"typewriter\"\r\n | \"none\"\r\n | \"moody\"\r\n | \"double_struck\";\r\n\r\nconst FontSystem = {\r\n /**\r\n * Applies a specified font style to a given text.\r\n *\r\n * @param {string} text - The input text to style.\r\n * @param {FontTypes} [font=\"none\"] - The font type to apply.\r\n * @returns {string} - The formatted text.\r\n */\r\n applyFonts(text: string, font: FontTypes = \"none\"): string {\r\n const formattedText = text\r\n .split(\"\")\r\n .map((char: string | number) => fonts[font][char] || char)\r\n .join(\"\");\r\n return formattedText;\r\n },\r\n\r\n /**\r\n * Retrieves a formatted list of all available font styles.\r\n */\r\n allFonts(): string {\r\n let fontList = ``;\r\n Object.keys(fonts).forEach((font) => {\r\n const someText = font\r\n .replace(/_/g, \" \")\r\n .replace(/\\b\\w/g, (match) => match.toUpperCase());\r\n\r\n fontList += this.fonts[font as FontTypes](someText) + \"\\n\";\r\n });\r\n return fontList;\r\n },\r\n /**\r\n * A direct reference to the font mapping object.\r\n */\r\n fontMap: fonts,\r\n /**\r\n * Provides a proxy to dynamically apply fonts without explicitly calling `applyFonts`.\r\n */\r\n get fonts() {\r\n return new Proxy(\r\n {},\r\n {\r\n get(_, prop: string | symbol) {\r\n if (prop in fonts && typeof prop === \"string\") {\r\n return function (text: string) {\r\n return FontSystem.applyFonts(String(text), prop as FontTypes);\r\n };\r\n } else {\r\n return (i: string) => typeof i;\r\n }\r\n },\r\n }\r\n ) as FontsProxy;\r\n },\r\n};\r\n\r\nexport const applyFonts = FontSystem.applyFonts;\r\nexport const allFonts = FontSystem.allFonts;\r\nexport const fontMap = FontSystem.fontMap;\r\n\r\nconst fonts2 = FontSystem.fonts;\r\nexport { fonts2 as fonts };\r\n\r\nexport default FontSystem;\r\n","export { default as FontSystem } from \"./font\";\r\nimport { fonts, FontTypes } from \"./font\";\r\n\r\nconst line = \"━\";\r\n\r\n/**\r\n * Formats a title string by extracting and rearranging emojis and non-emoji characters based on a pattern.\r\n *\r\n * @param {string} str - The input string containing emojis and text.\r\n * @param {string} [pattern] - The format pattern where `{word}` represents non-emoji text and `{emojis}` represents extracted emojis.\r\n * @returns {string} - The formatted title string.\r\n */\r\nexport function forceTitleFormat(str: string, pattern?: string): string {\r\n pattern ??= `{word} ${UNIRedux.charm} {emojis}`;\r\n const emojiRegex = /\\p{Emoji}/gu;\r\n\r\n let emojis = [...str].filter((char) => emojiRegex.test(char)).join(\"\");\r\n let nonEmojis = [...str]\r\n .filter((char) => !emojiRegex.test(char))\r\n .join(\"\")\r\n .trim()\r\n .replaceAll(\"|\", \"\");\r\n\r\n const res = pattern\r\n .replaceAll(\"{word}\", nonEmojis)\r\n .replaceAll(\"{emojis}\", emojis);\r\n\r\n return res;\r\n}\r\n\r\ninterface FormatOptions {\r\n title: string;\r\n content: string;\r\n titleFont?: FontTypes;\r\n contentFont?: FontTypes;\r\n titlePattern?: string;\r\n noFormat?: boolean;\r\n lineLength?: number;\r\n}\r\n\r\n/**\r\n * Formats title and content text.\r\n */\r\nexport function format(\r\n title: string,\r\n content: string,\r\n contentFont?: FontTypes\r\n): string;\r\n\r\n/**\r\n * Formats title and content text with optional font styles and title patterns.\r\n */\r\nexport function format({\r\n title,\r\n content,\r\n contentFont,\r\n titleFont,\r\n titlePattern,\r\n noFormat,\r\n lineLength,\r\n}: FormatOptions): string;\r\n\r\n/**\r\n * Formats title and content text with optional font styles and title patterns.\r\n */\r\nexport function format(\r\n arg1: string | FormatOptions,\r\n arg2?: string,\r\n arg3?: FontTypes | undefined\r\n): string {\r\n let options: FormatOptions;\r\n\r\n if (typeof arg1 === \"string\" && typeof arg2 === \"string\") {\r\n options = { title: arg1, content: arg2, contentFont: arg3 };\r\n } else if (typeof arg1 === \"object\" && arg1 !== null) {\r\n options = arg1;\r\n } else {\r\n throw new Error(\"Invalid arguments\");\r\n }\r\n\r\n options.titleFont ??= \"bold\";\r\n options.contentFont ??= \"fancy\";\r\n options.titlePattern ??= undefined;\r\n options.noFormat ??= false;\r\n options.lineLength ??= 15;\r\n\r\n return `${fonts[options.titleFont](\r\n !options.noFormat\r\n ? forceTitleFormat(options.title, options.titlePattern)\r\n : options.title\r\n )}\\n${line.repeat(options.lineLength)}\\n${fonts[options.contentFont](\r\n autoBold(options.content)\r\n )}`;\r\n}\r\n\r\n/**\r\n * A collection of special Unicode characters and symbols.\r\n * Provides commonly used characters like line separators, trademarks, mathematical symbols, and more.\r\n */\r\nexport class UNIRedux {\r\n /** Special invisible space character */\r\n static specialSpace = \"ᅠ\";\r\n\r\n /** Standard line repeated 1 time */\r\n static singleLine = line;\r\n\r\n /** Burger menu icon */\r\n static burger: \"☰\" = \"☰\";\r\n\r\n /** Standard line repeated 15 times */\r\n static standardLine = line.repeat(15);\r\n\r\n /** Section sign */\r\n static section: \"§\" = \"§\";\r\n\r\n /** Pilcrow sign */\r\n static paragraph: \"¶\" = \"¶\";\r\n\r\n /** Registered trademark sign */\r\n static registered: \"®\" = \"®\";\r\n\r\n /** Trademark sign */\r\n static trademark: \"™\" = \"™\";\r\n\r\n /** Copyright sign */\r\n static copyright: \"©\" = \"©\";\r\n\r\n /** Degree sign */\r\n static degree: \"°\" = \"°\";\r\n\r\n /** Micro sign */\r\n static micro: \"µ\" = \"µ\";\r\n\r\n /** Bullet point */\r\n static bullet: \"•\" = \"•\";\r\n\r\n /** En dash */\r\n static enDash: \"–\" = \"–\";\r\n\r\n /** Em dash */\r\n static emDash: \"—\" = \"—\";\r\n\r\n /** Prime symbol */\r\n static prime: \"′\" = \"′\";\r\n\r\n /** Double prime symbol */\r\n static doublePrime: \"″\" = \"″\";\r\n\r\n /** Dagger symbol */\r\n static daggers: \"†\" = \"†\";\r\n\r\n /** Double dagger symbol */\r\n static doubleDagger: \"‡\" = \"‡\";\r\n\r\n /** Ellipsis */\r\n static ellipsis: \"…\" = \"…\";\r\n\r\n /** Infinity symbol */\r\n static infinity: \"∞\" = \"∞\";\r\n\r\n /** Generic currency sign */\r\n static currency: \"¤\" = \"¤\";\r\n\r\n /** Yen sign */\r\n static yen: \"¥\" = \"¥\";\r\n\r\n /** Euro sign */\r\n static euro: \"€\" = \"€\";\r\n\r\n /** Pound sign */\r\n static pound: \"£\" = \"£\";\r\n\r\n /** Plus-minus sign */\r\n static plusMinus: \"±\" = \"±\";\r\n\r\n /** Approximately equal sign */\r\n static approximately: \"≈\" = \"≈\";\r\n\r\n /** Not equal to sign */\r\n static notEqual: \"≠\" = \"≠\";\r\n\r\n /** Less than or equal to sign */\r\n static lessThanOrEqual: \"≤\" = \"≤\";\r\n\r\n /** Greater than or equal to sign */\r\n static greaterThanOrEqual: \"≥\" = \"≥\";\r\n\r\n /** Summation sign */\r\n static summation: \"∑\" = \"∑\";\r\n\r\n /** Integral sign */\r\n static integral: \"∫\" = \"∫\";\r\n\r\n /** Square root sign */\r\n static squareRoot: \"√\" = \"√\";\r\n\r\n /** Partial differential sign */\r\n static partialDifferential: \"∂\" = \"∂\";\r\n\r\n /** Angle symbol */\r\n static angle: \"∠\" = \"∠\";\r\n\r\n /** Degree Fahrenheit sign */\r\n static degreeFahrenheit: \"℉\" = \"℉\";\r\n\r\n /** Degree Celsius sign */\r\n static degreeCelsius: \"℃\" = \"℃\";\r\n\r\n /** Floral Heart symbol */\r\n static floralHeart: \"❧\" = \"❧\";\r\n\r\n /** Star Flower symbol */\r\n static starFlower: \"✻\" = \"✻\";\r\n\r\n /** Heavy Star symbol */\r\n static heavyStar: \"★\" = \"★\";\r\n\r\n /** Sparkle symbol */\r\n static sparkle: \"✦\" = \"✦\";\r\n\r\n /** Asterisk symbol */\r\n static asterisk: \"✱\" = \"✱\";\r\n\r\n /** Heavy Check Mark */\r\n static heavyCheckMark: \"✔\" = \"✔\";\r\n\r\n /** Heavy Ballot X */\r\n static heavyBallotX: \"✖\" = \"✖\";\r\n\r\n /** Heart symbol */\r\n static heart: \"♥\" = \"♥\";\r\n\r\n /** Diamond symbol */\r\n static diamond: \"♦\" = \"♦\";\r\n\r\n /** Club symbol */\r\n static club: \"♣\" = \"♣\";\r\n\r\n /** Spade symbol */\r\n static spade: \"♠\" = \"♠\";\r\n\r\n /** Musical Note symbol */\r\n static musicalNote: \"♪\" = \"♪\";\r\n\r\n /** Double Musical Note symbol */\r\n static doubleMusicalNote: \"♫\" = \"♫\";\r\n\r\n /** Snowflake symbol */\r\n static snowflake: \"❄\" = \"❄\";\r\n\r\n /** Sparkle Star symbol */\r\n static sparkleStar: \"✨\" = \"✨\";\r\n\r\n /** Anchor symbol */\r\n static anchor: \"⚓\" = \"⚓\";\r\n\r\n /** Umbrella symbol */\r\n static umbrella: \"☔\" = \"☔\";\r\n\r\n /** Hourglass symbol */\r\n static hourglass: \"⌛\" = \"⌛\";\r\n\r\n /** Hourglass Not Done symbol */\r\n static hourglassNotDone: \"⏳\" = \"⏳\";\r\n\r\n /** Charm symbol */\r\n static charm: \"✦\" = \"✦\";\r\n\r\n /** Disc symbol */\r\n static disc: \"⦿\" = \"⦿\";\r\n\r\n /** Arrow symbol */\r\n static arrow: \"➤\" = \"➤\";\r\n\r\n /** Arrow (Black and White) symbol */\r\n static arrowBW: \"➣\" = \"➣\";\r\n\r\n /** Arrow from Top symbol */\r\n static arrowFromT: \"➥\" = \"➥\";\r\n\r\n /** Arrow from Bottom symbol */\r\n static arrowFromB: \"➦\" = \"➦\";\r\n\r\n /** Restart symbol */\r\n static restart: \"⟳\" = \"⟳\";\r\n\r\n /** Arrow Outline symbol */\r\n static arrowOutline: \"➩\" = \"➩\";\r\n}\r\n\r\n/**\r\n * Abbreviates a number using K (thousand), M (million), B (billion), etc.\r\n *\r\n * @param {number|string} value - The number to abbreviate.\r\n * @param {number} [places=2] - The number of decimal places to round to.\r\n * @param {boolean} [isFull=false] - If true, returns the full name instead of letter notation (e.g., \"Thousand\" instead of \"K\").\r\n * @returns {string} - The abbreviated number.\r\n */\r\nexport function abbreviateNumber(\r\n value: number | string,\r\n places = 2,\r\n isFull = false\r\n): string {\r\n let num = Number(value);\r\n if (isNaN(num)) return \"Invalid input\";\r\n if (num < 1000) {\r\n return num.toFixed(places).replace(/\\.?0+$/, \"\");\r\n }\r\n\r\n const suffixes = [\"\", \"K\", \"M\", \"B\", \"T\", \"P\", \"E\"];\r\n const fullSuffixes = [\r\n \"\",\r\n \"Thousand\",\r\n \"Million\",\r\n \"Billion\",\r\n \"Trillion\",\r\n \"Quadrillion\",\r\n \"Quintillion\",\r\n ];\r\n\r\n const magnitude = Math.floor(Math.log10(num) / 3);\r\n\r\n if (magnitude === 0) {\r\n return num % 1 === 0\r\n ? num.toString()\r\n : num.toFixed(places).replace(/\\.?0+$/, \"\");\r\n }\r\n\r\n const abbreviatedValue = num / Math.pow(1000, magnitude);\r\n const suffix = isFull ? fullSuffixes[magnitude] : suffixes[magnitude];\r\n\r\n if (abbreviatedValue % 1 === 0) {\r\n return `${Math.round(abbreviatedValue)}${isFull ? ` ${suffix}` : suffix}`;\r\n }\r\n\r\n const formattedValue = abbreviatedValue.toFixed(places).replace(/\\.?0+$/, \"\");\r\n\r\n return `${formattedValue}${isFull ? ` ${suffix}` : suffix}`;\r\n}\r\n\r\n/**\r\n * Transforms the input text by applying bold and bold-italic formatting.\r\n *\r\n * The function looks for text wrapped in `***` and `**` and replaces them with\r\n * bold-italic and bold formatting respectively.\r\n *\r\n * @param text - The input text to be transformed.\r\n * @returns The transformed text with bold and bold-italic formatting applied.\r\n */\r\nexport function autoBold(text: string) {\r\n text = String(text);\r\n text = text.replace(/\\*\\*\\*(.*?)\\*\\*\\*/g, (_: string, text: string) =>\r\n fonts.bold_italic(text)\r\n );\r\n text = text.replace(/\\*\\*(.*?)\\*\\*/g, (_: string, text: string) =>\r\n fonts.bold(text)\r\n );\r\n return text;\r\n}\r\n\r\n/**\r\n * Replaces custom font tags in the given text with corresponding font styles.\r\n *\r\n * The function looks for patterns in the format `[font=fontName]text[:font=fontName]`\r\n * and replaces them with the corresponding font styles if the font names match.\r\n *\r\n * @param text - The input text containing custom font tags.\r\n * @returns The text with font tags replaced by corresponding font styles.\r\n */\r\nexport function fontTag(text: string) {\r\n text = String(text);\r\n text = text.replace(\r\n /\\[font=(.*?)\\]\\s*(.*?)\\s*\\[:font=(.*?)\\]/g,\r\n (_, font, text, font2) =>\r\n font === font2 ? fonts[font as FontTypes](text) : text\r\n );\r\n return text;\r\n}\r\n\r\ntype StrictMessageForm = {\r\n body?: string;\r\n attachment?: ReadableStream | ReadableStream[] | any | any[];\r\n mentions?: Mention[];\r\n location?: { latitude: number; longitude: number; current: boolean };\r\n};\r\ntype MessageForm = string | StrictMessageForm;\r\n\r\ntype FCAID = string | number;\r\n\r\ntype Mention = {\r\n tag: string;\r\n id: FCAID;\r\n fromIndex: number;\r\n};\r\n\r\ninterface LiaIOQueue {\r\n form: MessageForm;\r\n senderID?: FCAID;\r\n replyTo?: FCAID | undefined;\r\n style?: FormatOptions;\r\n resolve?: (value: any) => any;\r\n reject?: (reason?: any) => any;\r\n event?: any;\r\n api?: any;\r\n}\r\n\r\n/**\r\n * @lianecagara\r\n * Class representing the LiaIOLite/Box for handling message input/output operations.\r\n * This class is responsible for sending, replying, and receiving messages,\r\n * as well as managing message reactions and handling events related to messages.\r\n *\r\n * @class Box\r\n */\r\nexport class Box {\r\n #api: any = null;\r\n #event: any = null;\r\n public style: FormatOptions | undefined;\r\n\r\n /**\r\n * Creates an instance of the LiaIO class to manage message interactions.\r\n *\r\n * @param {API} api - The API instance for interacting with the messaging service.\r\n * @param {FCAMessageReplyEvent | any} event - The event that triggered the interaction.\r\n * @memberof Box\r\n */\r\n constructor(api: any, event: any, style?: FormatOptions) {\r\n this.#api = api;\r\n this.#event = event;\r\n this.style = style;\r\n }\r\n\r\n static queue: LiaIOQueue[] = [];\r\n\r\n /**\r\n * Sends an output message, which can be a reply or a new message.\r\n *\r\n * @param params - The parameters for sending the message.\r\n * @param params.form - The form of the message to be sent.\r\n * @param params.senderID - The ID of the sender (optional).\r\n * @param params.replyTo - The ID of the message being replied to (optional).\r\n * @param style\r\n * @returns A promise resolving to the sent message event.\r\n * @memberof Box\r\n */\r\n async out(param0: {\r\n form: MessageForm;\r\n senderID?: FCAID;\r\n replyTo?: FCAID;\r\n style?: FormatOptions;\r\n }): Promise<any> {\r\n const {\r\n form: oform,\r\n senderID = this.#event.threadID,\r\n replyTo = undefined,\r\n style = null,\r\n } = param0;\r\n const form = normalizeMessageForm(oform) as StrictMessageForm;\r\n\r\n let exMents: Mention[] = [];\r\n if (typeof form.body === \"string\") {\r\n const ments = form.body.match(/@\\[(.*?)=(.*?)\\]/g);\r\n if (Array.isArray(ments)) {\r\n for (const ment of ments) {\r\n const [tag, uid] = ment.slice(2, -1).split(\"=\");\r\n form.body = form.body.replace(ment, `@${tag}`);\r\n exMents.push({\r\n id: uid,\r\n tag,\r\n fromIndex: form.body.indexOf(`@${tag}`),\r\n });\r\n }\r\n }\r\n }\r\n let styler: FormatOptions | undefined = this.style;\r\n if (style) {\r\n styler = style;\r\n }\r\n if (styler && form.body && styler !== undefined && styler.title) {\r\n const combined: FormatOptions = {\r\n ...styler,\r\n content: form.body,\r\n };\r\n form.body = format(combined);\r\n }\r\n\r\n return new Promise(async (resolve, reject) => {\r\n form.mentions = [...exMents, ...(form.mentions ?? [])];\r\n for (const key in form) {\r\n if (\r\n form[key as keyof StrictMessageForm] === null ||\r\n form[key as keyof StrictMessageForm] === undefined\r\n ) {\r\n delete form[key as keyof StrictMessageForm];\r\n }\r\n if (!form.mentions || form.mentions.length < 1) {\r\n delete form.mentions;\r\n }\r\n }\r\n console.log(`Form to send:`, form, senderID, replyTo);\r\n /**\r\n * @type {LiaIOQueue}\r\n */\r\n const queueItem: LiaIOQueue = {\r\n ...param0,\r\n senderID,\r\n replyTo,\r\n style: styler,\r\n form,\r\n resolve,\r\n reject,\r\n api: this.#api,\r\n event: this.#event,\r\n };\r\n Box.queue.push(queueItem);\r\n\r\n if (Box.queue.length === 1) {\r\n Box._processQueue();\r\n }\r\n });\r\n }\r\n\r\n static async _processQueue() {\r\n console.log(`Processing Queue..`);\r\n while (this.queue.length > 0) {\r\n const currentTask = this.queue[0];\r\n console.log(\r\n `Current Queue task (total ${this.queue.length}):`,\r\n currentTask.form\r\n );\r\n\r\n if (this.queue.length > 1) {\r\n await new Promise((resolve) => setTimeout(resolve, 500));\r\n }\r\n\r\n try {\r\n console.log(`Sending form...`, currentTask.form);\r\n const {\r\n api,\r\n form: oform,\r\n reject,\r\n resolve,\r\n replyTo,\r\n senderID,\r\n } = currentTask;\r\n const form = normalizeMessageForm(oform);\r\n api.sendMessage(\r\n form,\r\n senderID,\r\n (err: any, info: any) => {\r\n if (err && reject) {\r\n reject(err);\r\n } else if (resolve) {\r\n console.log(`Form sent:`, form, senderID, replyTo);\r\n\r\n resolve(info);\r\n }\r\n },\r\n replyTo ?? undefined\r\n );\r\n } catch (error) {\r\n currentTask.reject?.(error);\r\n }\r\n this.queue.shift();\r\n console.log(`Moving to next queue`);\r\n }\r\n }\r\n\r\n /**\r\n * Sends a reply to a message, optionally targeting a specific reply.\r\n *\r\n * @param form - The form of the reply message to be sent.\r\n * @param replyTo - The ID of the message being replied to (optional).\r\n * @returns A promise resolving to the message reply event.\r\n * @memberof Box\r\n * @example\r\n * await liaIO.reply(\"Hello, world!\");\r\n */\r\n reply(\r\n form: MessageForm,\r\n replyTo: FCAID = this.#event.messageID\r\n ): Promise<any> {\r\n return this.out({\r\n form,\r\n replyTo,\r\n });\r\n }\r\n /**\r\n * Sends a message to a destination, optionally specifying the destination ID.\r\n *\r\n * @param form - The form of the message to be sent.\r\n * @param senderID - The ID of the destination to send the message to (optional).\r\n * @memberof Box\r\n * @example\r\n * await liaIO.send(\"Hello, world!\");\r\n */\r\n send(\r\n form: MessageForm,\r\n senderID: FCAID = this.#event.threadID\r\n ): Promise<any> {\r\n return this.out({\r\n form,\r\n senderID,\r\n });\r\n }\r\n\r\n /**\r\n * An easy way to handle errors.\r\n *\r\n * @param error - Error to be sent.\r\n */\r\n error(error: Error | Record<string, any>): Promise<any> {\r\n const errString =\r\n error instanceof Error\r\n ? String(error.stack)\r\n : JSON.stringify(error, null, 2);\r\n console.error(error);\r\n return this.reply(errString);\r\n }\r\n\r\n /**\r\n * Adds a reaction to a message, optionally targeting a specific message to react to.\r\n *\r\n * @param emoji - The reaction to be added (e.g., \"like\", \"love\").\r\n * @param reactTo - The ID of the message to react to (optional).\r\n * @returns A promise resolving to the sent reaction event.\r\n * @memberof Box\r\n */\r\n reaction(\r\n emoji: string,\r\n reactTo: FCAID = this.#event.messageID\r\n ): Promise<any> {\r\n return new Promise((resolve, reject) => {\r\n this.#api.setMessageReaction(emoji, reactTo, (err: any) => {\r\n if (err) {\r\n return reject(err);\r\n }\r\n return resolve(true);\r\n });\r\n });\r\n }\r\n\r\n clone(): Box {\r\n return new Box(this.#api, this.#event, this.style);\r\n }\r\n\r\n styled(style: FormatOptions) {\r\n return new Box(this.#api, this.#event, style);\r\n }\r\n}\r\n\r\nfunction normalizeMessageForm(form: MessageForm): StrictMessageForm {\r\n let r: Record<string, any> = {};\r\n if (form && r) {\r\n if (typeof form === \"object\") {\r\n r = form;\r\n }\r\n\r\n if (typeof form === \"string\") {\r\n r = {\r\n body: form,\r\n };\r\n }\r\n if (!Array.isArray(r.attachment) && r.attachment) {\r\n r.attachment = [r.attachment];\r\n }\r\n return r;\r\n } else {\r\n return {\r\n body: undefined,\r\n };\r\n }\r\n}\r\n\r\nexport const LiaIOLite = Box;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,QAAgD;AAAA,EACpD,WAAW;AAAA,IACT,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,KAAK;AAAA,EACP;AAAA,EACA,OAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,KAAK;AAAA,EACP;AAAA,EAEA,aAAa;AAAA,IACX,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,KAAK;AAAA,EACP;AAAA,EAEA,YAAY;AAAA,IACV,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,KAAK;AAAA,EACP;AAAA,EAEA,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,KAAK;AAAA,EACP;AAAA,EAEA,YAAY;AAAA,IACV,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IAEH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA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G;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,eAAe;AAAA,IACb,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACF;AAsBA,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjB,WAAW,MAAc,OAAkB,QAAgB;AACzD,UAAM,gBAAgB,KACnB,MAAM,EAAE,EACR,IAAI,CAAC,SAA0B,MAAM,IAAI,EAAE,IAAI,KAAK,IAAI,EACxD,KAAK,EAAE;AACV,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,WAAmB;AACjB,QAAI,WAAW;AACf,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,SAAS;AACnC,YAAM,WAAW,KACd,QAAQ,MAAM,GAAG,EACjB,QAAQ,SAAS,CAAC,UAAU,MAAM,YAAY,CAAC;AAElD,kBAAY,KAAK,MAAM,IAAiB,EAAE,QAAQ,IAAI;AAAA,IACxD,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,SAAS;AAAA;AAAA;AAAA;AAAA,EAIT,IAAI,QAAQ;AACV,WAAO,IAAI;AAAA,MACT,CAAC;AAAA,MACD;AAAA,QACE,IAAI,GAAG,MAAuB;AAC5B,cAAI,QAAQ,SAAS,OAAO,SAAS,UAAU;AAC7C,mBAAO,SAAU,MAAc;AAC7B,qBAAO,WAAW,WAAW,OAAO,IAAI,GAAG,IAAiB;AAAA,YAC9D;AAAA,UACF,OAAO;AACL,mBAAO,CAAC,MAAc,OAAO;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,aAAa,WAAW;AAC9B,IAAM,WAAW,WAAW;AAC5B,IAAM,UAAU,WAAW;AAElC,IAAM,SAAS,WAAW;AAG1B,IAAO,eAAQ;;;AC75Bf,IAAM,OAAO;AASN,SAAS,iBAAiB,KAAa,SAA0B;AACtE,wCAAY,UAAU,SAAS,KAAK;AACpC,QAAM,aAAa,WAAC,cAAU,IAAE;AAEhC,MAAI,SAAS,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,SAAS,WAAW,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE;AACrE,MAAI,YAAY,CAAC,GAAG,GAAG,EACpB,OAAO,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,EACvC,KAAK,EAAE,EACP,KAAK,EACL,WAAW,KAAK,EAAE;AAErB,QAAM,MAAM,QACT,WAAW,UAAU,SAAS,EAC9B,WAAW,YAAY,MAAM;AAEhC,SAAO;AACT;AAqCO,SAAS,OACd,MACA,MACA,MACQ;AArEV;AAsEE,MAAI;AAEJ,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU;AACxD,cAAU,EAAE,OAAO,MAAM,SAAS,MAAM,aAAa,KAAK;AAAA,EAC5D,WAAW,OAAO,SAAS,YAAY,SAAS,MAAM;AACpD,cAAU;AAAA,EACZ,OAAO;AACL,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACrC;AAEA,gBAAQ,cAAR,oBAAQ,YAAc;AACtB,gBAAQ,gBAAR,oBAAQ,cAAgB;AACxB,gBAAQ,iBAAR,oBAAQ,eAAiB;AACzB,gBAAQ,aAAR,oBAAQ,WAAa;AACrB,gBAAQ,eAAR,oBAAQ,aAAe;AAEvB,SAAO,GAAG,OAAM,QAAQ,SAAS;AAAA,IAC/B,CAAC,QAAQ,WACL,iBAAiB,QAAQ,OAAO,QAAQ,YAAY,IACpD,QAAQ;AAAA,EACd,CAAC;AAAA,EAAK,KAAK,OAAO,QAAQ,UAAU,CAAC;AAAA,EAAK,OAAM,QAAQ,WAAW;AAAA,IACjE,SAAS,QAAQ,OAAO;AAAA,EAC1B,CAAC;AACH;AAMO,IAAM,WAAN,MAAe;AA6LtB;AAAA;AA3LE,cAFW,UAEJ,gBAAe;AAAA;AAGtB,cALW,UAKJ,cAAa;AAAA;AAGpB,cARW,UAQJ,UAAc;A