text: // @flow
  
  export {
    default as buildExternalHelpers,
  } from "./tools/build-external-helpers";
  export { resolvePlugin, resolvePreset } from "./config/loading/files";
  
  export { version } from "../package";
  export { getEnv } from "./config/helpers/environment";
  
  export * as types from "babel-types";
  export { default as traverse } from "babel-traverse";
  export { default as template } from "babel-template";
  
  import loadConfig from "./config";
  
  export function loadOptions(opts: {}): Object | null {
    const config = loadConfig(opts);
  
    return config ? config.options : null;
  }
  
  // For easier backward-compatibility, provide an API like the one we exposed in Babel 6.
  export class OptionManager {
    init(opts: {}) {
      return loadOptions(opts);
    }
  }
  
  export function Plugin(alias: string) {
    throw new Error(
      `The (${alias}) Babel 5 plugin is being run with an unsupported Babel version.`,
    );
  }
  
  export { default as transform } from "./transform";
  export { default as transformFromAst } from "./transform-ast";
  export { default as transformFile } from "./transform-file";
  export { default as transformFileSync } from "./transform-file-sync";
  
  /**
   * Recommended set of compilable extensions. Not used in babel-core directly, but meant as
   * as an easy source for tooling making use of babel-core.
   */
  export const DEFAULT_EXTENSIONS = Object.freeze([
    ".js",
    ".jsx",
    ".es6",
    ".es",
    ".mjs",
  ]);
  
  /* eslint-disable max-len */
  export const guy = [
    "                                               `                  `",
    "                                                   `              `   `",
    "                                              ``.```    . ``      `  `. `",
    "                                              ``````` ` ` `   ` . .  ``",
    "                                              ```. `.```.   ... ``..```` `",
    "                                      `  `   `` .`.`` ..`.``....`.`.`....` .",
    "                                      ` ..`  `. ..``.`....``....```.....``` `",
    "                                `    `.  ``.``.`.````.`.```...`.....``...````",
    "                                    ` .  ...`,..`..```...``.````. `.```.`` .`",
    "                                 .`  .````....`.````````````````````.````` ``",
    "                                . .` ``.`.`.``````````````````.``````````  `   `",
    "                               `.`` .```..`.````````````````````````````` `````",
    "                                `.` ...```.`````````````````````````````.``.`...",
    "                             ` ``..``````````````````````````````````````.`.``.`   `",
    "                              ``````.`````````````````````````````````` ``..```  `.",
    "                               ``..``````````````` .````````````````````.`..``` . `",
    "                         .`  `` .`.``.```.``````````.```````````````````.``...`.  `",
    "                          .``` .`.```````````````````````````````````````````.`. ``",
    "                         ` ```` ....````````````..````` ```````````````````````.`.  `",
    "                         ` ````..``````` ```````.`````` ````````` `````````..`..`.",
    "                        . ` `.  ``.```````````````````` ```.````` `````.```.``..`. .",
    "                         ` ``` `````` ``````````.``````````.````````.``.```.``..`.```",
    "                        `` ``.   ````````` ``````````````..`````````.```. `````.`..``",
    "                       `````.` ` ``````````.` ` ````````````````.` `.``.`````````. `.",
    "                       `   `.`  `````` ````.```````````````.`.```````````````````.``.`",
    "                     ```   `.````````` ``` ``````````````````````````````````````...``",
    "                      ```    `.`````` `````````.``````.````.``````````````````````.``.",
    "                      `.` `.`  ````````````.````````.`````````````````````` ````````.`",
    "                       ` ` ```   ``` ```  `.``````````.```.`..``..``.``````  `````.`..",
    "                        ``````. `````` `` ``````.``.``.`````..``````.````.`` ``````... `",
    "                        ```````..```````` ````.`.```````````..````````.```````````..``",
    "                        `.````` ` ````` `  `````.``.``````....``````.`.`..````````.```..",
    "                        `````.````  ``` ``  ````````.````.``..`.` ````.`.``.`````````.``",
    "                     ` `` `.`.`` `     ` ` ```.`````````````.``.``.`.`...``....``````.` `",
    "                       ``..```````` ` `. ``````...`````````````.`.`.`.....,,....````..`",
    "                      `.`,``````.```   `` ` .```..`````````.```````..,,...,,,,...```````",
    "                      `.`.`` ```````   ``````.`````````````````..`........,,,,...`````.````",
    "                       `.``.```````` ` ``.`..``.`....````````............,,,,,,..`````.",
    "                     ` ...`````````` `````.`.......`````````..`..`.......,,,,,,.`..`.`. `",
    "                      ``..`````````````.`..........`````````````........,.,,,,,........`",
    "                      ``````````````````.............````````````........,,,,,,.`.......",
    "                      .````. ``` `` `.....``.......`.````````````........,,,,,,,.....`.`",
    "                      `` `` ```` `````.............``````````````.......,,,,,,:,.......``",
    "                       ``.``  ``` ````................``````````.......,,,,,:,,,...`...`",
    "                     ` .`````  ``.````................`````````........,,.,,:,::,......`",
    "                     ``````````` `````.................```````.........,,,,,:,,:..`..,.`",
    "                      ```.``````` ```....................```..........,,,,,,,,::,.`.....`",
    "                      . `.``````..````.......,............``.........,,,,,,,,,,:,...,...",
    "                      `.  ``````.`.````.,.............................,,,,,,,:,:,....,..`",
    "                       `. `````..`.````.,...,........................,,,,,,,,,,::,...,..",
    "                      ``.``````....```..,,.,,,,......................,,,,,,,,,:::,,.,,.`",
    "                      `````````.``.```...,.,,,,,....................,,,,,,,,,,,::,,,.,,`",
    "                       `.``.`.``..``.....,.,..,,,....................,,,,,,,,,,:::,.,.,,",
    "                       .```.`..``.```.``.,.,,.,,,,,..................,,,,,,,,,,:::,,.,,`",
    "                      ` .```.........``..,,,,,,,.....................,,,,,,,,,,:::,,..,`",
    "                      `` `.````,`,`.```..,,,..,,,.......................,,,,,,,,:::,..,",
    "                       `````````.`..``...,,,.,,,........................,.,,,,,,:::;,.,.",
    "                       .`....````,..`.`.,,,,,,,,,........................,,,,,,::::',.,.",
    "                       ```.... ``.`..`.`,,,,,,,,.,.......................,,,,,,::::;:,,.",
    "                       ```.,..` ```.. `..,,,,,,,,.,......................,,,,,,,:::;;,:;.",
    "                       ``...,,,..``.`.`..,,,,,,,,.......................,,,,,,,:::::;,.;`",
    "                        ````,,.,,..`.`...,,,,,,,,..........`..........,,,,,,,,,,::::;,.:`",
    "                         `.``...`..```.`.,,,,,,,,....................,,,,,,,,,::::::;:,;.",
    "                         `.``.`.,``...`.,,,,,,,,,...................,,,,,,::;;;';;::::,;,",
    "                         ......`````...,:,,,,,,,,,..............,,,,,,:::'''''''''::::,:,",
    "                         `.....,.......,,,,,,,,,.,,......,,...,,,,,,::;;'++++++''';:::,,,",
    "                        `..````.......,:,,,,,,,,..,..,...,,,,,,,,,,,:;'++##++''';;;:::,,.",
    "                          ..``..`..,,:,,,,,,,,,,...,,,..,,:,,,,,,,,,:;'+++'';;;;::;::::.`",
    "                         `..,.`..,..,,:,,,,,,,,,,,.,,,::::::::,::,,:;'''';;;;;;;:::::::,`",
    "                         `.,,..,,,...:,,,,,,,,:,::::;;''';;::::,::::;;'''+####++;::::::,`",
    "                         ``.,:,,,.`..,,,,,,,,,::;;;''+++''';;::,,,,:;''++#@@@####;:::::,.`",
    "                          .,:;,,,,.:.:,,,,,,,:;''''++++++';;;::,,,:;'+'''@'@@#+++';::::,,",
    "                          ..';',,.:.,,,,,,,,:;;'''+''+';;;;;;;:,,,:;'+'###+';'';;'::,:::.",
    "                           `:::;:,,...,,,,,,;;'''';;:;;;;;;;;;:,..,;+##';;:;;;::::::,,::`",
    "                           ,::,,::....,.,,,,;;;;;;:::'#++;;;;;:...,;++';;:::::::;:,:,::;`",
    "                           ,;;:,,.....,,.,,:;;;;:;;+@@@'+'';;':.`.,:''';:::::::;:,,,,::;",
    "                           .;;':::....,,,,,:;;;;;+##@@#+###'';:.`..,;;;;;;;;;;;;:,,:,,:;",
    "                           `;;+':,....,,..,:;;;;###@+#+'';;:;::.`..,,;:::;;;;;:.,,:,:::;`",
    "                            ;;'';,,....,,,,,:;;+++';::;;::;;;,:....,,,::,,,:,,...,,::::;,",
    "                            :;;'',..,...,,,,:;;;,:,,:,::;;;::,,......,:,,,.......,,,::,;:",
    "                            :';;':....,,,,::::;:,,,,,,:;;;:::,.....,.,,,,........,,,::,;:",
    "                            .;:;;:.,,,,,,,,:,.,,:,,:::;;::,:,,......,,,,,........,,,,:,;:",
    "                             :;;;;,..,,,,,,...,.,:::;;;;:,,,,...``..,..,,........,,,,:,;:",
    "                             :;;::,,,,,,,,,..,.,,::;;::,.,,,,...```..,,:,,........,,,,,:;",
    "                             .:::;:.:,,,,,,,,.,,............,..`.``.,,:;:,,.......,,,,,:;",
    "                              ,:::;:,:,,,,,,,.....``.`.........````..,;'';,......,,,,,,,:",
    "                              :;,:;::,,:,,,,......````.`....,,,.```..,;;'',,,,,,.,,,,,,,'",
    "                              ,:.:;:::,,,,,,.....````````...,:,,````.,;,,#':,,,,,,,,,,,,.,",
    "                               ,,:;:;:::,,,,,....`````````.,:::,.```.,,.,:+;:,,,,,,,,,,,.,",
    "                               ,:,,::::,:,,,.....````````.,:,,:,..``..,..,'';:,,,,:::,,:,`",
    "                               ,,:,:::::,,,,......``````..::...,..``..,,,,'';;,,:,:::,::,`",
    "                               ,.:,,::::,,,,.............,;:......```.,,,,''';:,::::::::,,",
    "                                ,.,,::::,,,,............,:;:......``..,,,,''';::::::;::::'",
    "                                ,..,::::,,,,,..........,:;::.........,,.:#''';;:::;;;;;;;`",
    "                                ,.,,:::,,,,,..........,:;;::,,,,,...,,:;##';'+;:::;;;;;;:",
    "                                `..,::::,,,,,,,.......::;;:::::::,,,,:;###':;+':::;;;;;;:",
    "                                 ..,::::,,,,,,,,,....,:;';::''';:::::;'##+;';'+;::;;;;;;:",
    "                                 :,,:::,,:,,,,,,,,...,:;;:::;'++';;;;;##+#''+++;;;;;;;;;,",
    "                                  ,,:::,,,:,,,,,,,,,,:;';;:;;+##++'''###++++'++';;;;;;;;.",
    "                                 `.:::::,:,:,::,,,,,::;';;;;;'+#+##++###++''++++;:;;;';;`",
    "                                 . `,:::::::::::::,,::;'';;;;'++++#+'+#+++':'+++;::;;;;;",
    "                                 ,  '::::::::::::::::;'''';;;''+++##'++'+';;++++;::;;;;'",
    "                                 :  +:::::::::;::::::;'+';;';'+++++++++''''#+'++;:;;;;;'",
    "                                 .  +:;::::::;:::;::;'+++''';'''+'++';;'';@#++++::;;';;:",
    "                                  :.+;;;:::::::;;:::;'+++''':;;;'';;;'';,;@#++++;:';;;'`",
    "                                  ,::;;;::;:::::;:::;++++''';;;;;;''';;::@##+'++;:;';;'",
    "                                   ':;;;;;;:;:;;;:::;+++#@;,,:,,,,.:.,::@@#+';'+:;;;;;'",
    "                                   #@';;;;:::::::;:::'+#+#@;,,.,.,`:,,'#@#+';;'+;;;;;',",
    "                                   +#:;;;;;;::::;::::;++'##@@#+#::.,'#####+';;'+'';;;'",
    "                                   ;@,;;;;;;;::;;:::::++';+#####++######++';;;;+''';;'",
    "                                   #@;';;;;;;::::::,,:;+;::'+##++++#+'#+'';;;:;++';;;,",
    "                                  `##@+;;;;;;::::;::,,;+::::;;'++''+++'';;;;;;;++'';;#@+",
    "                                  .;@#:';;';;:::::::,,;+;::,:::;;;'';;::;:;;:;;++';''@@@@@@@:`",
    "                                  ,+@@,';;;;;;::::;:,,;+;,,,,::,.,::,,:;;::::;;++';;'@@@@@@####@#;,;,`",
    "                                  ,+#@+';;'';;;:::::::;+;:,::,::,,..,::;;::::;'++';;'@@@@@@@@@@#######@@@:`",
    "                                  ,+###,';;'';;::::::,:+::,,::,::,,,,::;::::::;++';;'#@@@@@@##@##@@@@######@:`",
    "                                  .+;##:';;'';;;::::::;+',,,:::,,,,,:::;,:::::'++';''@@@@@@@@###@#############@;  `",
    "                                  .'+#@#;;;;;;;;::::;::+':,,,,::,,,:,::,:,,:::'+#;;;'@@@@@@@@#####################@@",
    "                                  .':;@#,';;'';;:::;:::+'::,,,:::,,::,,...,,::'+#;;;'@@@@@@@@#######################@",
    "                                  `+@;+##'';;;;;:::::;;+'::.,,,,..,,,...,,,:::'+#';;'@#@@@@@#@#######################@",
    "                                  ;#@#'#@:';;;;;;;::::'+':,,,,,,....,....,,,::'+#';;'@#@@@@@#@########################+",
    "                                 ',+##+'@#:';;;;;:::::;++:,,,,,..,....,...,:,;'+++;;'@+#@@@@@@@########################'",
    "                                `#;+#+#++#++;;;;;::::,;#'',...,...,,,..,`.,,:;++#+;;'@##@@@@###@########################'",
    "                                ###:#'#+;@':+;;;;;::::;++':,.............,,,,;'###;;'@##@@@@@##@#########################'",
    "                               #### #'##+@@',';;;;:::::#+;:,,.......`....:,.:;+##+';'@#@@@@@@###@#########################+",
    "                              :####+:+@#+###+:;;;;;::,;+++;,,.,`,....`...,:,:'+#++;;+##+@@@@@##############################+",
    "                              ###### ##'###@##;;;;;:::'##+':,,...`....,,.,:,;;###+';#:@##@@@@###############################+",
    "                             +#######,#@###@@+#;;;;;:::+#+'::,..,,...,..,:::;'#+++';+:##+#@@@#################################",
    "                            .########.#@###@@#'@;;;;;;;+##+;::,.,,.,..,,.,:;;+#+##+'+#+@'#@@@##################################",
    "                            ########## @#@#@@##'@;;;;'++#++';;:,,,,,,,,,:,:'+##+#+''##,@;@@@@##################################.",
    "                           ############,@###@@#++#;;;;'####''';:,,,,.,.,,:;'++###'';#@,#'@@@@@##################################",
    "                          .###########'.#####@##+##;'+######++';;,,.,,.,.;;'+#++''';#@;+@@@@@###################################.",
    "                          @##########';;`#@##@@##'@#'+#####+##+';;,,,,,,.;+++++'''';#@@;+##@@####################################;",
    "                         ###########+;;;;;####@#''#@##########+#+':,.,:,,;++#+''''''+@@,#+#@@####################################@.",
    "                        +##########+;;;;;;#@###@+''##############;;:,.::::+#''''''''+##:#;#@@####################################@#",
    "                       :###########;;;;;;;;@###@@+'@@###+#+######'',,.:,;:++';'''';++@#+;:@@@@###################################@#,",
    "                       ###########;;;;;;;;;;##@#@#'###@@#+++###+++'::,,,'';''''''''++#++.:#@@#######################################",
    "                      +##########+;;;;;;;;;;:#@#@@++##@@@#@++####+';,,,,,;''''''''++'#;;@;@@########################################",
    "                     `########+##;;;;;;;;;;;';###@#+##@@@@@;+';'+++;:,.,,;'''''''+++'##;#'@#@####################################@##",
    "                    `###########+;;;;;;;;;;;;:'#@#@#+#@@@@@:#';;;;';:,,,:''''''''++''+#:####@####################################@##",
    "                   .############;;;;;;;;;;;;;;,+#@###+@@@@@;#+';''';;;:,:''+''+'+++'++@@'###@#######################################,",
    "                  `###########+';;;;;;;;;;;;;;;,'##@###@@@@#++'''''';,:,;'++++++++'''+#;;@##@@######################################@",
    "                  ##########++#;;;;;;;;'';;;;;;','#@@###@@@@'#+''''';:::++++++++++'+'+;:,@##@########################################,",
    "                 +############;;;;;;;;;''';;;;;;'.:#@###@@@@:#++''''';:+'####++++++'''#+.###@@######################################++",
    "                 #########@###;;;;;;;;;;''';;;;;'',,#@###@@@:#++++++++##########+++'';+':#@#########################################+'.",
    "                '##+######@@@#;;;;;;;;;;;''';;;;;';,`#####@@'##+++++###########+++''';+:;@##@########################################''",
    "                ####+#######@#';;;;;;';;;;''';;;;;'':`##+#@@#+#################+++'';;#'########################################@#####'",
    "               :##############'';;;;;;;';;'''';;;;''';`:#+##@;#################++''';;+'###############################################:",
    "               ###########+###;'';;;';+;::,;''';;;;''''.`@##@,@##@@@@@@#########++';;;;,@######################################@#######:",
    "              #########+#+##++;'';;';;;''';;;''';;;;'''';`.@+.@@#@@@@@@@#######++''';;',###############################################+.",
    "             `#########++####;;;'+';;'';:;';'##+';;;'''''';`.,@@@@@@@@@@######+++'';;;+;################################################.",
    "             ###########+++#';;;;'';;;#':+,';+#'+';;;''''''';.`#@###@@@@######+++';;;;'#################################@###############'.",
    "            ;#############'';;;;;;;;;'+++;:+;,+#'';;;;''''''''+:`:+@##########++''';;;,@################################################+.",
    "            #############;;;;;;;;;;;;:'#+++;',,:#''';;'''''''''''+':,:+#@#####++'''';;.@###############################################'+'`",
    "           #############;;;;;;;;;;;;;;;+#;+++';;;++';;;''''''''''''++++;,;@##++''''';;:@################################################''`",
    "          .##########+#;;;;;;;;;;;;;;;;;#;+'#+';'#'+';;;''''''''''''''++++'.'++''''';;'@################################################;'`,",
    "          ###########++;;;;;;;;;;;;;';;;'+'++';,;'#''';;;'''''''''''''''+++++::'''';';#@##################################@####@########''`;:",
    "         ;#########@##;;;;;;;;;;;;;;;';;'+#+###'::;'+';;;''''''''''''''''++'''+::'';;,@##################################@##############+''. `",
    "         #####@@###+#;;;;;;;;;;;;;;+:+++''#####++::''+';;;''''''''''''''''''''''':;;;.###################################@@##############'''.",
    "        '###@@######';;;;;;;;;;;;;;#+##+''######'+;'++'';;;;''''''''''''''''''''''':'.#@@################################@@##############'''+@.",
    "        ###@@#######;;;;;;;;;;;;;;;;+##+''#######+':''+';;;;'''''''''''''''''''''''+:,##@################################@@##############+''+;,",
    "       '#@@####@@@@@;;;;;;;;;;;;;;;+++''+++###+;;#++:;''';;;;;''''''''''''''''''''''+;#@@################################@@###############''';'",
    "       #@########@@@#;;;;;;;;;;;;;;'''''#++++#++@;+++;:+';;;;;''''''''''''''''''''''+'@@#################################@@################'#+#`",
    "      ,@@###########@+;;;;;;;;;;;;;;;;;++'+++;:#'#;'++;'+';;;;;;'''''''''''''''''''''##@#################################@@#################++#:",
    "      #@#############+';;;;;;;;;;;;::::;+'+++;,#+#'++';''';;;;;;;''''''''''''''''''+;##@#################################@@##################'''",
    "      @#############;;;';;;;;;;;;;;:::;+##'+';;+#@+@+#:;''';;;;''''''''';''''''''''':##@##################################@###################''",
    "     +##############;;;;';;;;;;;;;;:::,'###'+;''++@#+##;''';;;;''''''''';;''''''''''.##@##################################@#################@#+'.",
    "     @##############;;;;;';;;;;;;;;:,::;###++;':'+';++##;''';;;''''';;''';';''''''''`##@##################################@################@###';",
    "    ;##############+;;;;;;;;;;;;;;;::,,;+####'',''+##+#';;'';;;;''''';''';;;''''''''`##@##################################@#############@##@####'",
    "    @#############++;;;;;;'';;;;;;;:,,,:'##+#'+''''+#+#+;;;+';;;''''';;'';;;''''''''.##@@#################################@###############@#####+,",
    "    ###############';;;;;;;';;;;;;;:,:,,;++'###+:'''#;###;;'+;;;;;'''';;;;;;'''''''',#####################################@@##@##########@@######'",
    "   :##############+;;;;;;;;;';;;;;;:,,,::+#@####;'''';##+;;'+';;;'''''';;;;;'''''''''###@##################################@##@##########@########",
    "   @###############;;;;;;;;;;';;;;;;;::,,;+###'#+,'';'##+;;;'+;;;;;'''''';;;''''''';+###@##################################@##@#########@@########:",
    "   ################;;;;;;;;;;;;;;;;;#;:,,:+##+@##;'+:''#;';;''';;;''''''''''''''''',####@##################################@##@########@@##########",
    "  `###############+;;;;;;;;;;;';;;;;;;':,,;+##+;##';+'',#;;;;'+;;;;''''''''''''''''.####@##################################@##@########@###########",
    "  ,#############+#+;;;;;;;;;;;;';;;;'#:;,,:;##;####+'+''++:;;''';;;;;'''''''''''''' #######################################@##@#######@@###########,",
    "  ###############';;;;;;;;;;;;;;';;;;'#'';;#':'#;##+++'',+;;;;'+;;;;;''''''''''''''`#######################################@##@#######@############'",
    "  @##########@;;;;;;;;;;;;;;;;;;;';;;''+':::'+#:@###++;+;'';;;''';;';'''''''''''''':#####@#################################@#@#######@############+;",
    "  ##########+;;;;;;;;;;;;;;;;;;;;';;;';,:',;#+#++'###+:'';;';;###;;;;';''''''''''';'#######################################@@@####################+',",
    " `########@'';;;;;;;;;;;;;;;;;;;;;';;:';;;:#+;';'@+@#++;+::;;;@##';;;;;''''''''''':######@#################################@#@######@##############'+",
    " ;#######@;;;;;;;;;;;;;;;;;;;;;;;;;';;:'''''##'#+,#'';+:'+':;;+##+;;;;;'''''''';''`######@#################################@@@@####################'+",
    " @#######;'';;;;;;;;;;';';;;;;;;;;;';;',;,+,;###;+;####+'+':;'+##+';;;''''''''''''`######@#################################@@@#####################';`",
    " #######;;'';;;;;;;;;;;'''';;;;;;;;'';',,'':'+###;@:##;;++::;+###++;;;''''''''''''.#######@################################@@@######################;:",
  ].join("\n");
  /* eslint-enable max-len */
  