Test 4: UTF-8 support.

/-- Do not use the \x{} construct except with patterns that have the --/
/-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/: PASS
/-- that option is set. However, the latest Perls recognize them always. --/: PASS

/a.b/8
    acb: PASS
    ab: PASS
    aĀb: PASS
    *** Failers
    a\nb: PASS

/a(.{3})b/8
    a䀀xyb: PASS
    a䀀yb: PASS
    a䀀Āyb: PASS
    *** Failers
    a䀀b: PASS
    ac\ncb: PASS

/a(.*?)(.)/
    aÀb: PASS

/a(.*?)(.)/8
    aĀb: PASS

/a(.*)(.)/
    aÀb: PASS

/a(.*)(.)/8
    aĀb: PASS

/a(.)(.)/
    aÀbcd: PASS

/a(.)(.)/8
    aɀbcd: PASS

/a(.?)(.)/
    aÀbcd: PASS

/a(.?)(.)/8
    aɀbcd: PASS

/a(.??)(.)/
    aÀbcd: PASS

/a(.??)(.)/8
    aɀbcd: PASS

/a(.{3})b/8
    aሴxyb: PASS
    aሴ䌡yb: PASS
    aሴ䌡㐒b: PASS
    *** Failers
    aሴb: PASS
    ac\ncb: PASS

/a(.{3,})b/8
    aሴxyb: PASS
    aሴ䌡yb: PASS
    aሴ䌡㐒b: PASS
    axxxxbcdefghijb: PASS
    aሴ䌡㐒㐡b: PASS
    *** Failers
    aሴb: PASS

/a(.{3,}?)b/8
    aሴxyb: PASS
    aሴ䌡yb: PASS
    aሴ䌡㐒b: PASS
    axxxxbcdefghijb: PASS
    aሴ䌡㐒㐡b: PASS
    *** Failers
    aሴb: PASS

/a(.{3,5})b/8
    aሴxyb: PASS
    aሴ䌡yb: PASS
    aሴ䌡㐒b: PASS
    axxxxbcdefghijb: PASS
    aሴ䌡㐒㐡b: PASS
    axbxxbcdefghijb: PASS
    axxxxxbcdefghijb: PASS
    *** Failers
    aሴb: PASS
    axxxxxxbcdefghijb: PASS

/a(.{3,5}?)b/8
    aሴxyb: PASS
    aሴ䌡yb: PASS
    aሴ䌡㐒b: PASS
    axxxxbcdefghijb: PASS
    aሴ䌡㐒㐡b: PASS
    axbxxbcdefghijb: PASS
    axxxxxbcdefghijb: PASS
    *** Failers
    aሴb: PASS
    axxxxxxbcdefghijb: PASS

/^[a\x{c0}]/8
    *** Failers
    Ā: PASS

/(?<=aXb)cd/8
FAILED TO COMPILE

/(?<=a\x{100}b)cd/8
FAILED TO COMPILE

/(?<=a\x{100000}b)cd/8
FAILED TO COMPILE

/(?:\x{100}){3}b/8
    ĀĀĀb: PASS
    *** Failers
    ĀĀb: PASS

/\x{ab}/8
    «: PASS
    Â«: PASS
    *** Failers
     {ab}: PASS

/(?<=(.))X/8
FAILED TO COMPILE

/X(\C{3})/8
    Xሴ: FAIL. Actual results: "null"

/X(\C{4})/8
    XሴYZ: FAIL. Actual results: "null"

/X\C*/8
    XYZabcdce: FAIL. Actual results: "X"

/X\C*?/8
    XYZabcde: PASS

/X\C{3,5}/8
    Xabcdefg: FAIL. Actual results: "null"
    Xሴ: FAIL. Actual results: "null"
    XሴYZ: FAIL. Actual results: "null"
    XሴԒ: FAIL. Actual results: "null"
    XሴԒYZ: FAIL. Actual results: "null"

/X\C{3,5}?/8
    Xabcdefg: FAIL. Actual results: "null"
    Xሴ: FAIL. Actual results: "null"
    XሴYZ: FAIL. Actual results: "null"
    XሴԒ: FAIL. Actual results: "null"

/[^a]+/8g
    bcd: PASS
    ĀaYɖZ: FAIL. Actual results: "ɖZ"
    ĀaYɖZ: FAIL. Actual results: "null"

/^[^a]{2}/8
    Ābc: PASS

/^[^a]{2,}/8
    ĀbcAa: PASS

/^[^a]{2,}?/8
    Ābca: PASS

/[^a]+/8ig
    bcd: PASS
    ĀaYɖZ: FAIL. Actual results: "ɖZ"
    ĀaYɖZ: FAIL. Actual results: "null"

/^[^a]{2}/8i
    Ābc: PASS

/^[^a]{2,}/8i
    ĀbcAa: PASS

/^[^a]{2,}?/8i
    Ābca: PASS

/\x{100}{0,0}/8
    abcd: PASS

/\x{100}?/8
    abcd: PASS
    ĀĀ: PASS

/\x{100}{0,3}/8 
    ĀĀ: PASS
    ĀĀĀĀ: PASS

/\x{100}*/8
    abce: PASS
    ĀĀĀĀ: PASS

/\x{100}{1,1}/8
    abcdĀĀĀĀ: PASS

/\x{100}{1,3}/8
    abcdĀĀĀĀ: PASS

/\x{100}+/8
    abcdĀĀĀĀ: PASS

/\x{100}{3}/8
    abcdĀĀĀXX: PASS

/\x{100}{3,5}/8
    abcdĀĀĀĀĀĀĀXX: PASS

/\x{100}{3,}/8
    abcdĀĀĀĀĀĀĀXX: PASS

/(?<=a\x{100}{2}b)X/8+
Unsupported modifiers: +

/\D*/8
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: FAIL. Actual results: "  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

/\D*/8
  ĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀ: FAIL. Actual results: "  ĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀĀ"

/\D/8
    1X2: PASS
    1Ā2: PASS

/>\S/8
    > >X Y: PASS
    > >Ā Y: PASS

/\d/8
    Ā3: PASS

/\s/8
    Ā X: PASS

/\D+/8
    12abcd34: PASS
    *** Failers
    1234: PASS

/\D{2,3}/8
    12abcd34: PASS
    12ab34: PASS
    *** Failers
    1234: PASS
    12a34: PASS

/\D{2,3}?/8
    12abcd34: PASS
    12ab34: PASS
    *** Failers
    1234: PASS
    12a34: PASS

/\d+/8
    12abcd34: PASS
    *** Failers

/\d{2,3}/8
    12abcd34: PASS
    1234abcd: PASS
    *** Failers
    1.4: PASS

/\d{2,3}?/8
    12abcd34: PASS
    1234abcd: PASS
    *** Failers
    1.4: PASS

/\S+/8
    12abcd34: PASS
    *** Failers
    \    \: FAIL. Actual results: "\"

/\S{2,3}/8
    12abcd34: PASS
    1234abcd: PASS
    *** Failers
    \     \: PASS

/\S{2,3}?/8
    12abcd34: PASS
    1234abcd: PASS
    *** Failers
    \     \: PASS

/>\s+</8+
Unsupported modifiers: +

/>\s{2,3}</8+
Unsupported modifiers: +

/>\s{2,3}?</8+
Unsupported modifiers: +

/\w+/8
    12      34: PASS
    *** Failers
    +++=*!: PASS

/\w{2,3}/8
    ab  cd: PASS
    abcd ce: PASS
    *** Failers
    a.b.c: PASS

/\w{2,3}?/8
    ab  cd: PASS
    abcd ce: PASS
    *** Failers
    a.b.c: PASS

/\W+/8
    12====34: PASS
    *** Failers
    abcd: PASS

/\W{2,3}/8
    ab====cd: PASS
    ab==cd: PASS
    *** Failers
    a.b.c: PASS

/\W{2,3}?/8
    ab====cd: PASS
    ab==cd: PASS
    *** Failers
    a.b.c: PASS

/[\x{100}]/8
    Ā: PASS
    ZĀ: PASS
    ĀZ: PASS
    *** Failers

/[Z\x{100}]/8
    ZĀ: PASS
    Ā: PASS
    ĀZ: PASS
    *** Failers

/[\x{100}\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   *** Failers

/[\x{100}-\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   abđcd: PASS
   *** Failers

/[z-\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   abđcd: PASS
   abzcd: PASS
   ab|cd: PASS
   *** Failers

/[Q\x{100}\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   Q?: PASS
   *** Failers

/[Q\x{100}-\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   abđcd: PASS
   Q?: PASS
   *** Failers

/[Qz-\x{200}]/8
   abĀcd: PASS
   abȀcd: PASS
   abđcd: PASS
   abzcd: PASS
   ab|cd: PASS
   Q?: PASS
   *** Failers

/[\x{100}\x{200}]{1,3}/8
   abĀcd: PASS
   abȀcd: PASS
   abȀĀȀĀcd: PASS
   *** Failers

/[\x{100}\x{200}]{1,3}?/8
   abĀcd: PASS
   abȀcd: PASS
   abȀĀȀĀcd: PASS
   *** Failers

/[Q\x{100}\x{200}]{1,3}/8
   abĀcd: PASS
   abȀcd: PASS
   abȀĀȀĀcd: PASS
   *** Failers

/[Q\x{100}\x{200}]{1,3}?/8
   abĀcd: PASS
   abȀcd: PASS
   abȀĀȀĀcd: PASS
   *** Failers

/(?<=[\x{100}\x{200}])X/8
FAILED TO COMPILE

/(?<=[Q\x{100}\x{200}])X/8
FAILED TO COMPILE

/(?<=[\x{100}\x{200}]{3})X/8
FAILED TO COMPILE

/[^\x{100}\x{200}]X/8
    AX: PASS
    ŐX: PASS
    ԀX: PASS
    *** Failers
    ĀX: PASS
    ȀX: PASS

/[^Q\x{100}\x{200}]X/8
    AX: PASS
    ŐX: PASS
    ԀX: PASS
    *** Failers
    ĀX: PASS
    ȀX: PASS
    QX: PASS

/[^\x{100}-\x{200}]X/8
    AX: PASS
    ԀX: PASS
    *** Failers
    ĀX: PASS
    ŐX: PASS
    ȀX: PASS

/a\Cb/
    aXb: FAIL. Actual results: "null"
    a\nb: FAIL. Actual results: "null"

/a\Cb/8
    aXb: FAIL. Actual results: "null"
    a\nb: FAIL. Actual results: "null"
    *** Failers
    aĀb: PASS

/[z-\x{100}]/8i
    z: PASS
    Z: PASS
    Ā: PASS
    *** Failers
    Ă: PASS
    y: PASS

/[\xFF]/
    >ÿ<: PASS

/[\xff]/8
    >ÿ<: PASS

/[^\xFF]/
    XYZ: PASS

/[^\xff]/8
    XYZ: PASS
    ģ: PASS

/^[ac]*b/8
  xb: PASS

/^[ac\x{100}]*b/8
  xb: PASS

/^[^x]*b/8i
  xb: PASS

/^[^x]*b/8
  xb: PASS

/^\d*b/8
  xb: PASS

/(|a)/g8
    catac: PASS
    catac: PASS
    catac: FAIL. Actual results: ","
    catac: PASS
    catac: PASS
    catac: FAIL. Actual results: ","
    catac: PASS
    catac: PASS
    aɖa: PASS
    aɖa: FAIL. Actual results: ","
    aɖa: PASS
    aɖa: PASS
    aɖa: FAIL. Actual results: ","
    aɖa: PASS

/^\x{85}$/8i
    : PASS

/^ሴ/8
    ሴ: PASS

/^\ሴ/8
    ሴ: PASS

"(?s)(.{1,5})"8
FAILED TO COMPILE

/a*\x{100}*\w/8
    a: PASS

/\S\S/8g
    A£BC: PASS
    A£BC: PASS

/\S{2}/8g
    A£BC: PASS
    A£BC: PASS

/\W\W/8g
    +£==: PASS
    +£==: PASS

/\W{2}/8g
    +£==: PASS
    +£==: PASS

/\S/8g
    тест: PASS
    тест: PASS
    тест: PASS
    тест: PASS

/[\S]/8g
    тест: PASS
    тест: PASS
    тест: PASS
    тест: PASS

/\D/8g
    тест: PASS
    тест: PASS
    тест: PASS
    тест: PASS

/[\D]/8g
    тест: PASS
    тест: PASS
    тест: PASS
    тест: PASS

/\W/8g
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS

/[\W]/8g
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS
    ⑂␵⑁⑂: PASS

/[\S\s]*/8
    abc\n\rтестxyz: FAIL. Actual results: "abc\n\rтестxyz"

/[\x{41f}\S]/8g
    тест: PASS
    тест: PASS
    тест: PASS
    тест: PASS

/.[^\S]./8g
    abc defтуxyz\npqr: PASS
    abc defтуxyz\npqr: FAIL. Actual results: "null"

/.[^\S\n]./8g
    abc defтуxyz\npqr: PASS

/[[:^alnum:]]/8g  
    +⑂: FAIL. Actual results: "null"
    +⑂: FAIL. Actual results: "null"

/[[:^alpha:]]/8g 
    +⑂: FAIL. Actual results: "null"
    +⑂: FAIL. Actual results: "null"

/[[:^ascii:]]/8g 
    Aт: FAIL. Actual results: "null"

/[[:^blank:]]/8g 
    Aт: FAIL. Actual results: "null"
    Aт: FAIL. Actual results: "null"

/[[:^cntrl:]]/8g 
    Aт: FAIL. Actual results: "null"
    Aт: FAIL. Actual results: "null"

/[[:^digit:]]/8g 
    Aт: FAIL. Actual results: "null"
    Aт: FAIL. Actual results: "null"

/[[:^graph:]]/8g 
    ǿ: FAIL. Actual results: "null"
    ǿ: FAIL. Actual results: "null"

/[[:^lower:]]/8g 
    AТ: FAIL. Actual results: "null"
    AТ: FAIL. Actual results: "null"

/[[:^print:]]/8g 
    ǿ: FAIL. Actual results: "null"
    ǿ: FAIL. Actual results: "null"

/[[:^punct:]]/8g 
    Aт: FAIL. Actual results: "null"
    Aт: FAIL. Actual results: "null"

/[[:^space:]]/8g 
    Aт: FAIL. Actual results: "null"
    Aт: FAIL. Actual results: "null"

/[[:^upper:]]/8g 
    aт: FAIL. Actual results: "null"
    aт: FAIL. Actual results: "null"

/[[:^word:]]/8g  
    +⑂: FAIL. Actual results: "null"
    +⑂: FAIL. Actual results: "null"

/[[:^xdigit:]]/8g
    Mт: FAIL. Actual results: "null"
    Mт: FAIL. Actual results: "null"

/[^ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİĲĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉƊƋƎƏƐƑƓƔƖƗƘƜƝƟƠƢƤƦƧƩƬƮƯƱƲƳƵƷƸƼǄǇǊǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮǱǴǶǷǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁΆΈΉΊΌΎΏΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϒϓϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸԀԂԄԆԈԊԌԎԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾸᾹᾺΆῈΈῊΉῘῙῚΊῨῩῪΎῬῸΌῺΏabcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıĳĵķĸĺļľŀłńņňŉŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżžſƀƃƅƈƌƍƒƕƙƚƛƞơƣƥƨƪƫƭưƴƶƹƺƽƾƿǆǉǌǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰǳǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȴȵȶȷȸȹȼȿɀɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϐϑϕϖϗϙϛϝϟϡϣϥϧϩϫϭϯϰϱϲϳϵϸϻϼабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹԁԃԅԇԉԋԍԏաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚẛạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢⴣⴤⴥﬀﬁﬂﬃﬄﬅﬆﬓﬔﬕﬖﬗ\d-_^]/8

DONE

