from ct.ansi8 import *

VERSION = '0.0.2'
# use hard registered to avoid annoy warnings: `cannot find reference`
hard_registered = [
    'B', 'D', 'I', 'S', 'U',
    'BD', 'BI', 'BS', 'BU', 'DI',
    'DS', 'DU', 'IS', 'IU', 'SU',
    'BDI', 'BDS', 'BDU', 'BIS', 'BIU',
    'BSU', 'DIS', 'DIU', 'DSU', 'ISU',
    'BDIS', 'BDIU', 'BDSU', 'BISU', 'DISU',
    'BDISU', 'k', 'r', 'g', 'y',
    'b', 'm', 'c', 'w', 'kr',
    'kg', 'ky', 'kb', 'km', 'kc',
    'kw', 'rk', 'rg', 'ry', 'rb',
    'rm', 'rc', 'rw', 'gk', 'gr',
    'gy', 'gb', 'gm', 'gc', 'gw',
    'yk', 'yr', 'yg', 'yb', 'ym',
    'yc', 'yw', 'bk', 'br', 'bg',
    'by', 'bm', 'bc', 'bw', 'mk',
    'mr', 'mg', 'my', 'mb', 'mc',
    'mw', 'ck', 'cr', 'cg', 'cy',
    'cb', 'cm', 'cw', 'wk', 'wr',
    'wg', 'wy', 'wb', 'wm', 'wc',
    'Bk', 'Br', 'Bg', 'By', 'Bb',
    'Bm', 'Bc', 'Bw', 'Bkr', 'Bkg',
    'Bky', 'Bkb', 'Bkm', 'Bkc', 'Bkw',
    'Brk', 'Brg', 'Bry', 'Brb', 'Brm',
    'Brc', 'Brw', 'Bgk', 'Bgr', 'Bgy',
    'Bgb', 'Bgm', 'Bgc', 'Bgw', 'Byk',
    'Byr', 'Byg', 'Byb', 'Bym', 'Byc',
    'Byw', 'Bbk', 'Bbr', 'Bbg', 'Bby',
    'Bbm', 'Bbc', 'Bbw', 'Bmk', 'Bmr',
    'Bmg', 'Bmy', 'Bmb', 'Bmc', 'Bmw',
    'Bck', 'Bcr', 'Bcg', 'Bcy', 'Bcb',
    'Bcm', 'Bcw', 'Bwk', 'Bwr', 'Bwg',
    'Bwy', 'Bwb', 'Bwm', 'Bwc', 'Dk',
    'Dr', 'Dg', 'Dy', 'Db', 'Dm',
    'Dc', 'Dw', 'Dkr', 'Dkg', 'Dky',
    'Dkb', 'Dkm', 'Dkc', 'Dkw', 'Drk',
    'Drg', 'Dry', 'Drb', 'Drm', 'Drc',
    'Drw', 'Dgk', 'Dgr', 'Dgy', 'Dgb',
    'Dgm', 'Dgc', 'Dgw', 'Dyk', 'Dyr',
    'Dyg', 'Dyb', 'Dym', 'Dyc', 'Dyw',
    'Dbk', 'Dbr', 'Dbg', 'Dby', 'Dbm',
    'Dbc', 'Dbw', 'Dmk', 'Dmr', 'Dmg',
    'Dmy', 'Dmb', 'Dmc', 'Dmw', 'Dck',
    'Dcr', 'Dcg', 'Dcy', 'Dcb', 'Dcm',
    'Dcw', 'Dwk', 'Dwr', 'Dwg', 'Dwy',
    'Dwb', 'Dwm', 'Dwc', 'Ik', 'Ir',
    'Ig', 'Iy', 'Ib', 'Im', 'Ic',
    'Iw', 'Ikr', 'Ikg', 'Iky', 'Ikb',
    'Ikm', 'Ikc', 'Ikw', 'Irk', 'Irg',
    'Iry', 'Irb', 'Irm', 'Irc', 'Irw',
    'Igk', 'Igr', 'Igy', 'Igb', 'Igm',
    'Igc', 'Igw', 'Iyk', 'Iyr', 'Iyg',
    'Iyb', 'Iym', 'Iyc', 'Iyw', 'Ibk',
    'Ibr', 'Ibg', 'Iby', 'Ibm', 'Ibc',
    'Ibw', 'Imk', 'Imr', 'Img', 'Imy',
    'Imb', 'Imc', 'Imw', 'Ick', 'Icr',
    'Icg', 'Icy', 'Icb', 'Icm', 'Icw',
    'Iwk', 'Iwr', 'Iwg', 'Iwy', 'Iwb',
    'Iwm', 'Iwc', 'Sk', 'Sr', 'Sg',
    'Sy', 'Sb', 'Sm', 'Sc', 'Sw',
    'Skr', 'Skg', 'Sky', 'Skb', 'Skm',
    'Skc', 'Skw', 'Srk', 'Srg', 'Sry',
    'Srb', 'Srm', 'Src', 'Srw', 'Sgk',
    'Sgr', 'Sgy', 'Sgb', 'Sgm', 'Sgc',
    'Sgw', 'Syk', 'Syr', 'Syg', 'Syb',
    'Sym', 'Syc', 'Syw', 'Sbk', 'Sbr',
    'Sbg', 'Sby', 'Sbm', 'Sbc', 'Sbw',
    'Smk', 'Smr', 'Smg', 'Smy', 'Smb',
    'Smc', 'Smw', 'Sck', 'Scr', 'Scg',
    'Scy', 'Scb', 'Scm', 'Scw', 'Swk',
    'Swr', 'Swg', 'Swy', 'Swb', 'Swm',
    'Swc', 'Uk', 'Ur', 'Ug', 'Uy',
    'Ub', 'Um', 'Uc', 'Uw', 'Ukr',
    'Ukg', 'Uky', 'Ukb', 'Ukm', 'Ukc',
    'Ukw', 'Urk', 'Urg', 'Ury', 'Urb',
    'Urm', 'Urc', 'Urw', 'Ugk', 'Ugr',
    'Ugy', 'Ugb', 'Ugm', 'Ugc', 'Ugw',
    'Uyk', 'Uyr', 'Uyg', 'Uyb', 'Uym',
    'Uyc', 'Uyw', 'Ubk', 'Ubr', 'Ubg',
    'Uby', 'Ubm', 'Ubc', 'Ubw', 'Umk',
    'Umr', 'Umg', 'Umy', 'Umb', 'Umc',
    'Umw', 'Uck', 'Ucr', 'Ucg', 'Ucy',
    'Ucb', 'Ucm', 'Ucw', 'Uwk', 'Uwr',
    'Uwg', 'Uwy', 'Uwb', 'Uwm', 'Uwc',
    'BDk', 'BDr', 'BDg', 'BDy', 'BDb',
    'BDm', 'BDc', 'BDw', 'BDkr', 'BDkg',
    'BDky', 'BDkb', 'BDkm', 'BDkc', 'BDkw',
    'BDrk', 'BDrg', 'BDry', 'BDrb', 'BDrm',
    'BDrc', 'BDrw', 'BDgk', 'BDgr', 'BDgy',
    'BDgb', 'BDgm', 'BDgc', 'BDgw', 'BDyk',
    'BDyr', 'BDyg', 'BDyb', 'BDym', 'BDyc',
    'BDyw', 'BDbk', 'BDbr', 'BDbg', 'BDby',
    'BDbm', 'BDbc', 'BDbw', 'BDmk', 'BDmr',
    'BDmg', 'BDmy', 'BDmb', 'BDmc', 'BDmw',
    'BDck', 'BDcr', 'BDcg', 'BDcy', 'BDcb',
    'BDcm', 'BDcw', 'BDwk', 'BDwr', 'BDwg',
    'BDwy', 'BDwb', 'BDwm', 'BDwc', 'BIk',
    'BIr', 'BIg', 'BIy', 'BIb', 'BIm',
    'BIc', 'BIw', 'BIkr', 'BIkg', 'BIky',
    'BIkb', 'BIkm', 'BIkc', 'BIkw', 'BIrk',
    'BIrg', 'BIry', 'BIrb', 'BIrm', 'BIrc',
    'BIrw', 'BIgk', 'BIgr', 'BIgy', 'BIgb',
    'BIgm', 'BIgc', 'BIgw', 'BIyk', 'BIyr',
    'BIyg', 'BIyb', 'BIym', 'BIyc', 'BIyw',
    'BIbk', 'BIbr', 'BIbg', 'BIby', 'BIbm',
    'BIbc', 'BIbw', 'BImk', 'BImr', 'BImg',
    'BImy', 'BImb', 'BImc', 'BImw', 'BIck',
    'BIcr', 'BIcg', 'BIcy', 'BIcb', 'BIcm',
    'BIcw', 'BIwk', 'BIwr', 'BIwg', 'BIwy',
    'BIwb', 'BIwm', 'BIwc', 'BSk', 'BSr',
    'BSg', 'BSy', 'BSb', 'BSm', 'BSc',
    'BSw', 'BSkr', 'BSkg', 'BSky', 'BSkb',
    'BSkm', 'BSkc', 'BSkw', 'BSrk', 'BSrg',
    'BSry', 'BSrb', 'BSrm', 'BSrc', 'BSrw',
    'BSgk', 'BSgr', 'BSgy', 'BSgb', 'BSgm',
    'BSgc', 'BSgw', 'BSyk', 'BSyr', 'BSyg',
    'BSyb', 'BSym', 'BSyc', 'BSyw', 'BSbk',
    'BSbr', 'BSbg', 'BSby', 'BSbm', 'BSbc',
    'BSbw', 'BSmk', 'BSmr', 'BSmg', 'BSmy',
    'BSmb', 'BSmc', 'BSmw', 'BSck', 'BScr',
    'BScg', 'BScy', 'BScb', 'BScm', 'BScw',
    'BSwk', 'BSwr', 'BSwg', 'BSwy', 'BSwb',
    'BSwm', 'BSwc', 'BUk', 'BUr', 'BUg',
    'BUy', 'BUb', 'BUm', 'BUc', 'BUw',
    'BUkr', 'BUkg', 'BUky', 'BUkb', 'BUkm',
    'BUkc', 'BUkw', 'BUrk', 'BUrg', 'BUry',
    'BUrb', 'BUrm', 'BUrc', 'BUrw', 'BUgk',
    'BUgr', 'BUgy', 'BUgb', 'BUgm', 'BUgc',
    'BUgw', 'BUyk', 'BUyr', 'BUyg', 'BUyb',
    'BUym', 'BUyc', 'BUyw', 'BUbk', 'BUbr',
    'BUbg', 'BUby', 'BUbm', 'BUbc', 'BUbw',
    'BUmk', 'BUmr', 'BUmg', 'BUmy', 'BUmb',
    'BUmc', 'BUmw', 'BUck', 'BUcr', 'BUcg',
    'BUcy', 'BUcb', 'BUcm', 'BUcw', 'BUwk',
    'BUwr', 'BUwg', 'BUwy', 'BUwb', 'BUwm',
    'BUwc', 'DIk', 'DIr', 'DIg', 'DIy',
    'DIb', 'DIm', 'DIc', 'DIw', 'DIkr',
    'DIkg', 'DIky', 'DIkb', 'DIkm', 'DIkc',
    'DIkw', 'DIrk', 'DIrg', 'DIry', 'DIrb',
    'DIrm', 'DIrc', 'DIrw', 'DIgk', 'DIgr',
    'DIgy', 'DIgb', 'DIgm', 'DIgc', 'DIgw',
    'DIyk', 'DIyr', 'DIyg', 'DIyb', 'DIym',
    'DIyc', 'DIyw', 'DIbk', 'DIbr', 'DIbg',
    'DIby', 'DIbm', 'DIbc', 'DIbw', 'DImk',
    'DImr', 'DImg', 'DImy', 'DImb', 'DImc',
    'DImw', 'DIck', 'DIcr', 'DIcg', 'DIcy',
    'DIcb', 'DIcm', 'DIcw', 'DIwk', 'DIwr',
    'DIwg', 'DIwy', 'DIwb', 'DIwm', 'DIwc',
    'DSk', 'DSr', 'DSg', 'DSy', 'DSb',
    'DSm', 'DSc', 'DSw', 'DSkr', 'DSkg',
    'DSky', 'DSkb', 'DSkm', 'DSkc', 'DSkw',
    'DSrk', 'DSrg', 'DSry', 'DSrb', 'DSrm',
    'DSrc', 'DSrw', 'DSgk', 'DSgr', 'DSgy',
    'DSgb', 'DSgm', 'DSgc', 'DSgw', 'DSyk',
    'DSyr', 'DSyg', 'DSyb', 'DSym', 'DSyc',
    'DSyw', 'DSbk', 'DSbr', 'DSbg', 'DSby',
    'DSbm', 'DSbc', 'DSbw', 'DSmk', 'DSmr',
    'DSmg', 'DSmy', 'DSmb', 'DSmc', 'DSmw',
    'DSck', 'DScr', 'DScg', 'DScy', 'DScb',
    'DScm', 'DScw', 'DSwk', 'DSwr', 'DSwg',
    'DSwy', 'DSwb', 'DSwm', 'DSwc', 'DUk',
    'DUr', 'DUg', 'DUy', 'DUb', 'DUm',
    'DUc', 'DUw', 'DUkr', 'DUkg', 'DUky',
    'DUkb', 'DUkm', 'DUkc', 'DUkw', 'DUrk',
    'DUrg', 'DUry', 'DUrb', 'DUrm', 'DUrc',
    'DUrw', 'DUgk', 'DUgr', 'DUgy', 'DUgb',
    'DUgm', 'DUgc', 'DUgw', 'DUyk', 'DUyr',
    'DUyg', 'DUyb', 'DUym', 'DUyc', 'DUyw',
    'DUbk', 'DUbr', 'DUbg', 'DUby', 'DUbm',
    'DUbc', 'DUbw', 'DUmk', 'DUmr', 'DUmg',
    'DUmy', 'DUmb', 'DUmc', 'DUmw', 'DUck',
    'DUcr', 'DUcg', 'DUcy', 'DUcb', 'DUcm',
    'DUcw', 'DUwk', 'DUwr', 'DUwg', 'DUwy',
    'DUwb', 'DUwm', 'DUwc', 'ISk', 'ISr',
    'ISg', 'ISy', 'ISb', 'ISm', 'ISc',
    'ISw', 'ISkr', 'ISkg', 'ISky', 'ISkb',
    'ISkm', 'ISkc', 'ISkw', 'ISrk', 'ISrg',
    'ISry', 'ISrb', 'ISrm', 'ISrc', 'ISrw',
    'ISgk', 'ISgr', 'ISgy', 'ISgb', 'ISgm',
    'ISgc', 'ISgw', 'ISyk', 'ISyr', 'ISyg',
    'ISyb', 'ISym', 'ISyc', 'ISyw', 'ISbk',
    'ISbr', 'ISbg', 'ISby', 'ISbm', 'ISbc',
    'ISbw', 'ISmk', 'ISmr', 'ISmg', 'ISmy',
    'ISmb', 'ISmc', 'ISmw', 'ISck', 'IScr',
    'IScg', 'IScy', 'IScb', 'IScm', 'IScw',
    'ISwk', 'ISwr', 'ISwg', 'ISwy', 'ISwb',
    'ISwm', 'ISwc', 'IUk', 'IUr', 'IUg',
    'IUy', 'IUb', 'IUm', 'IUc', 'IUw',
    'IUkr', 'IUkg', 'IUky', 'IUkb', 'IUkm',
    'IUkc', 'IUkw', 'IUrk', 'IUrg', 'IUry',
    'IUrb', 'IUrm', 'IUrc', 'IUrw', 'IUgk',
    'IUgr', 'IUgy', 'IUgb', 'IUgm', 'IUgc',
    'IUgw', 'IUyk', 'IUyr', 'IUyg', 'IUyb',
    'IUym', 'IUyc', 'IUyw', 'IUbk', 'IUbr',
    'IUbg', 'IUby', 'IUbm', 'IUbc', 'IUbw',
    'IUmk', 'IUmr', 'IUmg', 'IUmy', 'IUmb',
    'IUmc', 'IUmw', 'IUck', 'IUcr', 'IUcg',
    'IUcy', 'IUcb', 'IUcm', 'IUcw', 'IUwk',
    'IUwr', 'IUwg', 'IUwy', 'IUwb', 'IUwm',
    'IUwc', 'SUk', 'SUr', 'SUg', 'SUy',
    'SUb', 'SUm', 'SUc', 'SUw', 'SUkr',
    'SUkg', 'SUky', 'SUkb', 'SUkm', 'SUkc',
    'SUkw', 'SUrk', 'SUrg', 'SUry', 'SUrb',
    'SUrm', 'SUrc', 'SUrw', 'SUgk', 'SUgr',
    'SUgy', 'SUgb', 'SUgm', 'SUgc', 'SUgw',
    'SUyk', 'SUyr', 'SUyg', 'SUyb', 'SUym',
    'SUyc', 'SUyw', 'SUbk', 'SUbr', 'SUbg',
    'SUby', 'SUbm', 'SUbc', 'SUbw', 'SUmk',
    'SUmr', 'SUmg', 'SUmy', 'SUmb', 'SUmc',
    'SUmw', 'SUck', 'SUcr', 'SUcg', 'SUcy',
    'SUcb', 'SUcm', 'SUcw', 'SUwk', 'SUwr',
    'SUwg', 'SUwy', 'SUwb', 'SUwm', 'SUwc',
    'BDIk', 'BDIr', 'BDIg', 'BDIy', 'BDIb',
    'BDIm', 'BDIc', 'BDIw', 'BDIkr', 'BDIkg',
    'BDIky', 'BDIkb', 'BDIkm', 'BDIkc', 'BDIkw',
    'BDIrk', 'BDIrg', 'BDIry', 'BDIrb', 'BDIrm',
    'BDIrc', 'BDIrw', 'BDIgk', 'BDIgr', 'BDIgy',
    'BDIgb', 'BDIgm', 'BDIgc', 'BDIgw', 'BDIyk',
    'BDIyr', 'BDIyg', 'BDIyb', 'BDIym', 'BDIyc',
    'BDIyw', 'BDIbk', 'BDIbr', 'BDIbg', 'BDIby',
    'BDIbm', 'BDIbc', 'BDIbw', 'BDImk', 'BDImr',
    'BDImg', 'BDImy', 'BDImb', 'BDImc', 'BDImw',
    'BDIck', 'BDIcr', 'BDIcg', 'BDIcy', 'BDIcb',
    'BDIcm', 'BDIcw', 'BDIwk', 'BDIwr', 'BDIwg',
    'BDIwy', 'BDIwb', 'BDIwm', 'BDIwc', 'BDSk',
    'BDSr', 'BDSg', 'BDSy', 'BDSb', 'BDSm',
    'BDSc', 'BDSw', 'BDSkr', 'BDSkg', 'BDSky',
    'BDSkb', 'BDSkm', 'BDSkc', 'BDSkw', 'BDSrk',
    'BDSrg', 'BDSry', 'BDSrb', 'BDSrm', 'BDSrc',
    'BDSrw', 'BDSgk', 'BDSgr', 'BDSgy', 'BDSgb',
    'BDSgm', 'BDSgc', 'BDSgw', 'BDSyk', 'BDSyr',
    'BDSyg', 'BDSyb', 'BDSym', 'BDSyc', 'BDSyw',
    'BDSbk', 'BDSbr', 'BDSbg', 'BDSby', 'BDSbm',
    'BDSbc', 'BDSbw', 'BDSmk', 'BDSmr', 'BDSmg',
    'BDSmy', 'BDSmb', 'BDSmc', 'BDSmw', 'BDSck',
    'BDScr', 'BDScg', 'BDScy', 'BDScb', 'BDScm',
    'BDScw', 'BDSwk', 'BDSwr', 'BDSwg', 'BDSwy',
    'BDSwb', 'BDSwm', 'BDSwc', 'BDUk', 'BDUr',
    'BDUg', 'BDUy', 'BDUb', 'BDUm', 'BDUc',
    'BDUw', 'BDUkr', 'BDUkg', 'BDUky', 'BDUkb',
    'BDUkm', 'BDUkc', 'BDUkw', 'BDUrk', 'BDUrg',
    'BDUry', 'BDUrb', 'BDUrm', 'BDUrc', 'BDUrw',
    'BDUgk', 'BDUgr', 'BDUgy', 'BDUgb', 'BDUgm',
    'BDUgc', 'BDUgw', 'BDUyk', 'BDUyr', 'BDUyg',
    'BDUyb', 'BDUym', 'BDUyc', 'BDUyw', 'BDUbk',
    'BDUbr', 'BDUbg', 'BDUby', 'BDUbm', 'BDUbc',
    'BDUbw', 'BDUmk', 'BDUmr', 'BDUmg', 'BDUmy',
    'BDUmb', 'BDUmc', 'BDUmw', 'BDUck', 'BDUcr',
    'BDUcg', 'BDUcy', 'BDUcb', 'BDUcm', 'BDUcw',
    'BDUwk', 'BDUwr', 'BDUwg', 'BDUwy', 'BDUwb',
    'BDUwm', 'BDUwc', 'BISk', 'BISr', 'BISg',
    'BISy', 'BISb', 'BISm', 'BISc', 'BISw',
    'BISkr', 'BISkg', 'BISky', 'BISkb', 'BISkm',
    'BISkc', 'BISkw', 'BISrk', 'BISrg', 'BISry',
    'BISrb', 'BISrm', 'BISrc', 'BISrw', 'BISgk',
    'BISgr', 'BISgy', 'BISgb', 'BISgm', 'BISgc',
    'BISgw', 'BISyk', 'BISyr', 'BISyg', 'BISyb',
    'BISym', 'BISyc', 'BISyw', 'BISbk', 'BISbr',
    'BISbg', 'BISby', 'BISbm', 'BISbc', 'BISbw',
    'BISmk', 'BISmr', 'BISmg', 'BISmy', 'BISmb',
    'BISmc', 'BISmw', 'BISck', 'BIScr', 'BIScg',
    'BIScy', 'BIScb', 'BIScm', 'BIScw', 'BISwk',
    'BISwr', 'BISwg', 'BISwy', 'BISwb', 'BISwm',
    'BISwc', 'BIUk', 'BIUr', 'BIUg', 'BIUy',
    'BIUb', 'BIUm', 'BIUc', 'BIUw', 'BIUkr',
    'BIUkg', 'BIUky', 'BIUkb', 'BIUkm', 'BIUkc',
    'BIUkw', 'BIUrk', 'BIUrg', 'BIUry', 'BIUrb',
    'BIUrm', 'BIUrc', 'BIUrw', 'BIUgk', 'BIUgr',
    'BIUgy', 'BIUgb', 'BIUgm', 'BIUgc', 'BIUgw',
    'BIUyk', 'BIUyr', 'BIUyg', 'BIUyb', 'BIUym',
    'BIUyc', 'BIUyw', 'BIUbk', 'BIUbr', 'BIUbg',
    'BIUby', 'BIUbm', 'BIUbc', 'BIUbw', 'BIUmk',
    'BIUmr', 'BIUmg', 'BIUmy', 'BIUmb', 'BIUmc',
    'BIUmw', 'BIUck', 'BIUcr', 'BIUcg', 'BIUcy',
    'BIUcb', 'BIUcm', 'BIUcw', 'BIUwk', 'BIUwr',
    'BIUwg', 'BIUwy', 'BIUwb', 'BIUwm', 'BIUwc',
    'BSUk', 'BSUr', 'BSUg', 'BSUy', 'BSUb',
    'BSUm', 'BSUc', 'BSUw', 'BSUkr', 'BSUkg',
    'BSUky', 'BSUkb', 'BSUkm', 'BSUkc', 'BSUkw',
    'BSUrk', 'BSUrg', 'BSUry', 'BSUrb', 'BSUrm',
    'BSUrc', 'BSUrw', 'BSUgk', 'BSUgr', 'BSUgy',
    'BSUgb', 'BSUgm', 'BSUgc', 'BSUgw', 'BSUyk',
    'BSUyr', 'BSUyg', 'BSUyb', 'BSUym', 'BSUyc',
    'BSUyw', 'BSUbk', 'BSUbr', 'BSUbg', 'BSUby',
    'BSUbm', 'BSUbc', 'BSUbw', 'BSUmk', 'BSUmr',
    'BSUmg', 'BSUmy', 'BSUmb', 'BSUmc', 'BSUmw',
    'BSUck', 'BSUcr', 'BSUcg', 'BSUcy', 'BSUcb',
    'BSUcm', 'BSUcw', 'BSUwk', 'BSUwr', 'BSUwg',
    'BSUwy', 'BSUwb', 'BSUwm', 'BSUwc', 'DISk',
    'DISr', 'DISg', 'DISy', 'DISb', 'DISm',
    'DISc', 'DISw', 'DISkr', 'DISkg', 'DISky',
    'DISkb', 'DISkm', 'DISkc', 'DISkw', 'DISrk',
    'DISrg', 'DISry', 'DISrb', 'DISrm', 'DISrc',
    'DISrw', 'DISgk', 'DISgr', 'DISgy', 'DISgb',
    'DISgm', 'DISgc', 'DISgw', 'DISyk', 'DISyr',
    'DISyg', 'DISyb', 'DISym', 'DISyc', 'DISyw',
    'DISbk', 'DISbr', 'DISbg', 'DISby', 'DISbm',
    'DISbc', 'DISbw', 'DISmk', 'DISmr', 'DISmg',
    'DISmy', 'DISmb', 'DISmc', 'DISmw', 'DISck',
    'DIScr', 'DIScg', 'DIScy', 'DIScb', 'DIScm',
    'DIScw', 'DISwk', 'DISwr', 'DISwg', 'DISwy',
    'DISwb', 'DISwm', 'DISwc', 'DIUk', 'DIUr',
    'DIUg', 'DIUy', 'DIUb', 'DIUm', 'DIUc',
    'DIUw', 'DIUkr', 'DIUkg', 'DIUky', 'DIUkb',
    'DIUkm', 'DIUkc', 'DIUkw', 'DIUrk', 'DIUrg',
    'DIUry', 'DIUrb', 'DIUrm', 'DIUrc', 'DIUrw',
    'DIUgk', 'DIUgr', 'DIUgy', 'DIUgb', 'DIUgm',
    'DIUgc', 'DIUgw', 'DIUyk', 'DIUyr', 'DIUyg',
    'DIUyb', 'DIUym', 'DIUyc', 'DIUyw', 'DIUbk',
    'DIUbr', 'DIUbg', 'DIUby', 'DIUbm', 'DIUbc',
    'DIUbw', 'DIUmk', 'DIUmr', 'DIUmg', 'DIUmy',
    'DIUmb', 'DIUmc', 'DIUmw', 'DIUck', 'DIUcr',
    'DIUcg', 'DIUcy', 'DIUcb', 'DIUcm', 'DIUcw',
    'DIUwk', 'DIUwr', 'DIUwg', 'DIUwy', 'DIUwb',
    'DIUwm', 'DIUwc', 'DSUk', 'DSUr', 'DSUg',
    'DSUy', 'DSUb', 'DSUm', 'DSUc', 'DSUw',
    'DSUkr', 'DSUkg', 'DSUky', 'DSUkb', 'DSUkm',
    'DSUkc', 'DSUkw', 'DSUrk', 'DSUrg', 'DSUry',
    'DSUrb', 'DSUrm', 'DSUrc', 'DSUrw', 'DSUgk',
    'DSUgr', 'DSUgy', 'DSUgb', 'DSUgm', 'DSUgc',
    'DSUgw', 'DSUyk', 'DSUyr', 'DSUyg', 'DSUyb',
    'DSUym', 'DSUyc', 'DSUyw', 'DSUbk', 'DSUbr',
    'DSUbg', 'DSUby', 'DSUbm', 'DSUbc', 'DSUbw',
    'DSUmk', 'DSUmr', 'DSUmg', 'DSUmy', 'DSUmb',
    'DSUmc', 'DSUmw', 'DSUck', 'DSUcr', 'DSUcg',
    'DSUcy', 'DSUcb', 'DSUcm', 'DSUcw', 'DSUwk',
    'DSUwr', 'DSUwg', 'DSUwy', 'DSUwb', 'DSUwm',
    'DSUwc', 'ISUk', 'ISUr', 'ISUg', 'ISUy',
    'ISUb', 'ISUm', 'ISUc', 'ISUw', 'ISUkr',
    'ISUkg', 'ISUky', 'ISUkb', 'ISUkm', 'ISUkc',
    'ISUkw', 'ISUrk', 'ISUrg', 'ISUry', 'ISUrb',
    'ISUrm', 'ISUrc', 'ISUrw', 'ISUgk', 'ISUgr',
    'ISUgy', 'ISUgb', 'ISUgm', 'ISUgc', 'ISUgw',
    'ISUyk', 'ISUyr', 'ISUyg', 'ISUyb', 'ISUym',
    'ISUyc', 'ISUyw', 'ISUbk', 'ISUbr', 'ISUbg',
    'ISUby', 'ISUbm', 'ISUbc', 'ISUbw', 'ISUmk',
    'ISUmr', 'ISUmg', 'ISUmy', 'ISUmb', 'ISUmc',
    'ISUmw', 'ISUck', 'ISUcr', 'ISUcg', 'ISUcy',
    'ISUcb', 'ISUcm', 'ISUcw', 'ISUwk', 'ISUwr',
    'ISUwg', 'ISUwy', 'ISUwb', 'ISUwm', 'ISUwc',
    'BDISk', 'BDISr', 'BDISg', 'BDISy', 'BDISb',
    'BDISm', 'BDISc', 'BDISw', 'BDISkr', 'BDISkg',
    'BDISky', 'BDISkb', 'BDISkm', 'BDISkc', 'BDISkw',
    'BDISrk', 'BDISrg', 'BDISry', 'BDISrb', 'BDISrm',
    'BDISrc', 'BDISrw', 'BDISgk', 'BDISgr', 'BDISgy',
    'BDISgb', 'BDISgm', 'BDISgc', 'BDISgw', 'BDISyk',
    'BDISyr', 'BDISyg', 'BDISyb', 'BDISym', 'BDISyc',
    'BDISyw', 'BDISbk', 'BDISbr', 'BDISbg', 'BDISby',
    'BDISbm', 'BDISbc', 'BDISbw', 'BDISmk', 'BDISmr',
    'BDISmg', 'BDISmy', 'BDISmb', 'BDISmc', 'BDISmw',
    'BDISck', 'BDIScr', 'BDIScg', 'BDIScy', 'BDIScb',
    'BDIScm', 'BDIScw', 'BDISwk', 'BDISwr', 'BDISwg',
    'BDISwy', 'BDISwb', 'BDISwm', 'BDISwc', 'BDIUk',
    'BDIUr', 'BDIUg', 'BDIUy', 'BDIUb', 'BDIUm',
    'BDIUc', 'BDIUw', 'BDIUkr', 'BDIUkg', 'BDIUky',
    'BDIUkb', 'BDIUkm', 'BDIUkc', 'BDIUkw', 'BDIUrk',
    'BDIUrg', 'BDIUry', 'BDIUrb', 'BDIUrm', 'BDIUrc',
    'BDIUrw', 'BDIUgk', 'BDIUgr', 'BDIUgy', 'BDIUgb',
    'BDIUgm', 'BDIUgc', 'BDIUgw', 'BDIUyk', 'BDIUyr',
    'BDIUyg', 'BDIUyb', 'BDIUym', 'BDIUyc', 'BDIUyw',
    'BDIUbk', 'BDIUbr', 'BDIUbg', 'BDIUby', 'BDIUbm',
    'BDIUbc', 'BDIUbw', 'BDIUmk', 'BDIUmr', 'BDIUmg',
    'BDIUmy', 'BDIUmb', 'BDIUmc', 'BDIUmw', 'BDIUck',
    'BDIUcr', 'BDIUcg', 'BDIUcy', 'BDIUcb', 'BDIUcm',
    'BDIUcw', 'BDIUwk', 'BDIUwr', 'BDIUwg', 'BDIUwy',
    'BDIUwb', 'BDIUwm', 'BDIUwc', 'BDSUk', 'BDSUr',
    'BDSUg', 'BDSUy', 'BDSUb', 'BDSUm', 'BDSUc',
    'BDSUw', 'BDSUkr', 'BDSUkg', 'BDSUky', 'BDSUkb',
    'BDSUkm', 'BDSUkc', 'BDSUkw', 'BDSUrk', 'BDSUrg',
    'BDSUry', 'BDSUrb', 'BDSUrm', 'BDSUrc', 'BDSUrw',
    'BDSUgk', 'BDSUgr', 'BDSUgy', 'BDSUgb', 'BDSUgm',
    'BDSUgc', 'BDSUgw', 'BDSUyk', 'BDSUyr', 'BDSUyg',
    'BDSUyb', 'BDSUym', 'BDSUyc', 'BDSUyw', 'BDSUbk',
    'BDSUbr', 'BDSUbg', 'BDSUby', 'BDSUbm', 'BDSUbc',
    'BDSUbw', 'BDSUmk', 'BDSUmr', 'BDSUmg', 'BDSUmy',
    'BDSUmb', 'BDSUmc', 'BDSUmw', 'BDSUck', 'BDSUcr',
    'BDSUcg', 'BDSUcy', 'BDSUcb', 'BDSUcm', 'BDSUcw',
    'BDSUwk', 'BDSUwr', 'BDSUwg', 'BDSUwy', 'BDSUwb',
    'BDSUwm', 'BDSUwc', 'BISUk', 'BISUr', 'BISUg',
    'BISUy', 'BISUb', 'BISUm', 'BISUc', 'BISUw',
    'BISUkr', 'BISUkg', 'BISUky', 'BISUkb', 'BISUkm',
    'BISUkc', 'BISUkw', 'BISUrk', 'BISUrg', 'BISUry',
    'BISUrb', 'BISUrm', 'BISUrc', 'BISUrw', 'BISUgk',
    'BISUgr', 'BISUgy', 'BISUgb', 'BISUgm', 'BISUgc',
    'BISUgw', 'BISUyk', 'BISUyr', 'BISUyg', 'BISUyb',
    'BISUym', 'BISUyc', 'BISUyw', 'BISUbk', 'BISUbr',
    'BISUbg', 'BISUby', 'BISUbm', 'BISUbc', 'BISUbw',
    'BISUmk', 'BISUmr', 'BISUmg', 'BISUmy', 'BISUmb',
    'BISUmc', 'BISUmw', 'BISUck', 'BISUcr', 'BISUcg',
    'BISUcy', 'BISUcb', 'BISUcm', 'BISUcw', 'BISUwk',
    'BISUwr', 'BISUwg', 'BISUwy', 'BISUwb', 'BISUwm',
    'BISUwc', 'DISUk', 'DISUr', 'DISUg', 'DISUy',
    'DISUb', 'DISUm', 'DISUc', 'DISUw', 'DISUkr',
    'DISUkg', 'DISUky', 'DISUkb', 'DISUkm', 'DISUkc',
    'DISUkw', 'DISUrk', 'DISUrg', 'DISUry', 'DISUrb',
    'DISUrm', 'DISUrc', 'DISUrw', 'DISUgk', 'DISUgr',
    'DISUgy', 'DISUgb', 'DISUgm', 'DISUgc', 'DISUgw',
    'DISUyk', 'DISUyr', 'DISUyg', 'DISUyb', 'DISUym',
    'DISUyc', 'DISUyw', 'DISUbk', 'DISUbr', 'DISUbg',
    'DISUby', 'DISUbm', 'DISUbc', 'DISUbw', 'DISUmk',
    'DISUmr', 'DISUmg', 'DISUmy', 'DISUmb', 'DISUmc',
    'DISUmw', 'DISUck', 'DISUcr', 'DISUcg', 'DISUcy',
    'DISUcb', 'DISUcm', 'DISUcw', 'DISUwk', 'DISUwr',
    'DISUwg', 'DISUwy', 'DISUwb', 'DISUwm', 'DISUwc',
    'BDISUk', 'BDISUr', 'BDISUg', 'BDISUy', 'BDISUb',
    'BDISUm', 'BDISUc', 'BDISUw', 'BDISUkr', 'BDISUkg',
    'BDISUky', 'BDISUkb', 'BDISUkm', 'BDISUkc', 'BDISUkw',
    'BDISUrk', 'BDISUrg', 'BDISUry', 'BDISUrb', 'BDISUrm',
    'BDISUrc', 'BDISUrw', 'BDISUgk', 'BDISUgr', 'BDISUgy',
    'BDISUgb', 'BDISUgm', 'BDISUgc', 'BDISUgw', 'BDISUyk',
    'BDISUyr', 'BDISUyg', 'BDISUyb', 'BDISUym', 'BDISUyc',
    'BDISUyw', 'BDISUbk', 'BDISUbr', 'BDISUbg', 'BDISUby',
    'BDISUbm', 'BDISUbc', 'BDISUbw', 'BDISUmk', 'BDISUmr',
    'BDISUmg', 'BDISUmy', 'BDISUmb', 'BDISUmc', 'BDISUmw',
    'BDISUck', 'BDISUcr', 'BDISUcg', 'BDISUcy', 'BDISUcb',
    'BDISUcm', 'BDISUcw', 'BDISUwk', 'BDISUwr', 'BDISUwg',
    'BDISUwy', 'BDISUwb', 'BDISUwm', 'BDISUwc',
]

__all__ = [
              'COLOR_HELPER',
              'HELPER',
              'STYLE_HELPER',
              'VERSION',
              'registered',
              'with_paragraph',
          ] + hard_registered
