text: SystemJS.config({
    paths: {
      "github:": "jspm_packages/github/",
      "npm:": "jspm_packages/npm/",
      "app/": "src/"
    },
    browserConfig: {
      "baseURL": "/"
    },
    devConfig: {
      "map": {
        "plugin-typescript": "github:frankwallis/plugin-typescript@5.3.3",
        "css": "github:systemjs/plugin-css@0.1.33",
        "systemjs-hot-reloader": "github:alexisvincent/systemjs-hot-reloader@0.6.0"
      },
      "packages": {
        "github:frankwallis/plugin-typescript@5.3.3": {
          "map": {
            "typescript": "npm:typescript@2.2.1"
          }
        },
        "npm:typescript@2.2.1": {
          "map": {
            "source-map-support": "npm:source-map-support@0.4.14"
          }
        },
        "github:alexisvincent/systemjs-hot-reloader@0.6.0": {
          "map": {
            "debug": "npm:debug@2.6.3",
            "weakee": "npm:weakee@1.0.0",
            "socket.io-client": "github:socketio/socket.io-client@1.7.2"
          }
        },
        "npm:source-map-support@0.4.14": {
          "map": {
            "source-map": "npm:source-map@0.5.6"
          }
        },
        "npm:debug@2.6.3": {
          "map": {
            "ms": "npm:ms@0.7.2"
          }
        }
      }
    },
    transpiler: "plugin-typescript",
    typescriptOptions: {
      "tsconfig": false,
      "typeCheck": false,
      "module": "system",
      "target": "es5",
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "jsx": "react",
      "moduleResolution": "node",
      "preserveConstEnums": true,
      "removeComments": true,
      "noEmitHelpers": false,
      "importHelpers": false,
      "allowSyntheticDefaultImports": true,
      "sourceMap": true
    },
    packages: {
      "app": {
        "main": "app.tsx",
        "defaultExtension": "tsx",
        "format": "esm",
        "meta": {
          "*.tsx": {
            "loader": "plugin-typescript"
          },
          "*.ts": {
            "loader": "plugin-typescript"
          }
        }
      }
    }
  });
  
  SystemJS.config({
    packageConfigPaths: [
      "github:*/*.json",
      "npm:@*/*.json",
      "npm:*.json"
    ],
    map: {
      "assert": "npm:jspm-nodelibs-assert@0.2.0",
      "buffer": "npm:jspm-nodelibs-buffer@0.2.1",
      "child_process": "npm:jspm-nodelibs-child_process@0.2.0",
      "classnames": "npm:classnames@2.2.5",
      "constants": "npm:jspm-nodelibs-constants@0.2.0",
      "crypto": "npm:jspm-nodelibs-crypto@0.2.0",
      "csjs": "npm:csjs@1.1.0",
      "domain": "npm:jspm-nodelibs-domain@0.2.0",
      "events": "npm:jspm-nodelibs-events@0.2.0",
      "fs": "npm:jspm-nodelibs-fs@0.2.0",
      "http": "npm:jspm-nodelibs-http@0.2.0",
      "https": "npm:jspm-nodelibs-https@0.2.1",
      "insert-css": "npm:insert-css@1.1.0",
      "module": "npm:jspm-nodelibs-module@0.2.0",
      "net": "npm:jspm-nodelibs-net@0.2.0",
      "os": "npm:jspm-nodelibs-os@0.2.0",
      "path": "npm:jspm-nodelibs-path@0.2.1",
      "process": "npm:jspm-nodelibs-process@0.2.0",
      "react": "npm:react@15.4.2",
      "react-dom": "npm:react-dom@15.4.2",
      "react-redux": "npm:react-redux@5.0.3",
      "react-redux-typescript": "npm:react-redux-typescript@2.2.0",
      "react-router": "npm:react-router@3.0.2",
      "react-router-redux": "npm:react-router-redux@4.0.8",
      "redux": "npm:redux@3.6.0",
      "redux-observable": "npm:redux-observable@0.13.0",
      "reselect": "npm:reselect@2.5.4",
      "rxjs": "npm:rxjs@5.2.0",
      "stream": "npm:jspm-nodelibs-stream@0.2.0",
      "string_decoder": "npm:jspm-nodelibs-string_decoder@0.2.0",
      "tslib": "npm:tslib@1.6.0",
      "url": "npm:jspm-nodelibs-url@0.2.0",
      "util": "npm:jspm-nodelibs-util@0.2.1",
      "vm": "npm:jspm-nodelibs-vm@0.2.0",
      "whatwg-fetch": "npm:whatwg-fetch@1.1.1",
      "zlib": "npm:jspm-nodelibs-zlib@0.2.2"
    },
    packages: {
      "npm:crypto-browserify@3.11.0": {
        "map": {
          "create-hmac": "npm:create-hmac@1.1.4",
          "pbkdf2": "npm:pbkdf2@3.0.9",
          "browserify-cipher": "npm:browserify-cipher@1.0.0",
          "public-encrypt": "npm:public-encrypt@4.0.0",
          "create-hash": "npm:create-hash@1.1.2",
          "create-ecdh": "npm:create-ecdh@4.0.0",
          "browserify-sign": "npm:browserify-sign@4.0.0",
          "inherits": "npm:inherits@2.0.3",
          "diffie-hellman": "npm:diffie-hellman@5.0.2",
          "randombytes": "npm:randombytes@2.0.3"
        }
      },
      "npm:create-hmac@1.1.4": {
        "map": {
          "create-hash": "npm:create-hash@1.1.2",
          "inherits": "npm:inherits@2.0.3"
        }
      },
      "npm:public-encrypt@4.0.0": {
        "map": {
          "create-hash": "npm:create-hash@1.1.2",
          "browserify-rsa": "npm:browserify-rsa@4.0.1",
          "parse-asn1": "npm:parse-asn1@5.1.0",
          "bn.js": "npm:bn.js@4.11.6",
          "randombytes": "npm:randombytes@2.0.3"
        }
      },
      "npm:browserify-cipher@1.0.0": {
        "map": {
          "browserify-des": "npm:browserify-des@1.0.0",
          "evp_bytestokey": "npm:evp_bytestokey@1.0.0",
          "browserify-aes": "npm:browserify-aes@1.0.6"
        }
      },
      "npm:create-hash@1.1.2": {
        "map": {
          "inherits": "npm:inherits@2.0.3",
          "ripemd160": "npm:ripemd160@1.0.1",
          "sha.js": "npm:sha.js@2.4.8",
          "cipher-base": "npm:cipher-base@1.0.3"
        }
      },
      "npm:browserify-des@1.0.0": {
        "map": {
          "inherits": "npm:inherits@2.0.3",
          "des.js": "npm:des.js@1.0.0",
          "cipher-base": "npm:cipher-base@1.0.3"
        }
      },
      "npm:browserify-sign@4.0.0": {
        "map": {
          "create-hash": "npm:create-hash@1.1.2",
          "create-hmac": "npm:create-hmac@1.1.4",
          "browserify-rsa": "npm:browserify-rsa@4.0.1",
          "inherits": "npm:inherits@2.0.3",
          "parse-asn1": "npm:parse-asn1@5.1.0",
          "bn.js": "npm:bn.js@4.11.6",
          "elliptic": "npm:elliptic@6.4.0"
        }
      },
      "npm:evp_bytestokey@1.0.0": {
        "map": {
          "create-hash": "npm:create-hash@1.1.2"
        }
      },
      "npm:create-ecdh@4.0.0": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "elliptic": "npm:elliptic@6.4.0"
        }
      },
      "npm:browserify-rsa@4.0.1": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "randombytes": "npm:randombytes@2.0.3"
        }
      },
      "npm:diffie-hellman@5.0.2": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "randombytes": "npm:randombytes@2.0.3",
          "miller-rabin": "npm:miller-rabin@4.0.0"
        }
      },
      "npm:des.js@1.0.0": {
        "map": {
          "inherits": "npm:inherits@2.0.3",
          "minimalistic-assert": "npm:minimalistic-assert@1.0.0"
        }
      },
      "npm:browserify-aes@1.0.6": {
        "map": {
          "create-hash": "npm:create-hash@1.1.2",
          "evp_bytestokey": "npm:evp_bytestokey@1.0.0",
          "inherits": "npm:inherits@2.0.3",
          "cipher-base": "npm:cipher-base@1.0.3",
          "buffer-xor": "npm:buffer-xor@1.0.3"
        }
      },
      "npm:miller-rabin@4.0.0": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "brorand": "npm:brorand@1.1.0"
        }
      },
      "npm:hash.js@1.0.3": {
        "map": {
          "inherits": "npm:inherits@2.0.3"
        }
      },
      "npm:buffer@4.9.1": {
        "map": {
          "isarray": "npm:isarray@1.0.0",
          "ieee754": "npm:ieee754@1.1.8",
          "base64-js": "npm:base64-js@1.2.0"
        }
      },
      "npm:stream-browserify@2.0.1": {
        "map": {
          "inherits": "npm:inherits@2.0.3",
          "readable-stream": "npm:readable-stream@2.2.6"
        }
      },
      "npm:url@0.11.0": {
        "map": {
          "querystring": "npm:querystring@0.2.0",
          "punycode": "npm:punycode@1.3.2"
        }
      },
      "npm:browserify-zlib@0.1.4": {
        "map": {
          "readable-stream": "npm:readable-stream@2.2.6",
          "pako": "npm:pako@0.2.9"
        }
      },
      "npm:cipher-base@1.0.3": {
        "map": {
          "inherits": "npm:inherits@2.0.3"
        }
      },
      "npm:pbkdf2@3.0.9": {
        "map": {
          "create-hmac": "npm:create-hmac@1.1.4"
        }
      },
      "npm:jspm-nodelibs-domain@0.2.0": {
        "map": {
          "domain-browserify": "npm:domain-browser@1.1.7"
        }
      },
      "npm:jspm-nodelibs-crypto@0.2.0": {
        "map": {
          "crypto-browserify": "npm:crypto-browserify@3.11.0"
        }
      },
      "npm:jspm-nodelibs-http@0.2.0": {
        "map": {
          "http-browserify": "npm:stream-http@2.6.3"
        }
      },
      "npm:jspm-nodelibs-url@0.2.0": {
        "map": {
          "url-browserify": "npm:url@0.11.0"
        }
      },
      "npm:jspm-nodelibs-stream@0.2.0": {
        "map": {
          "stream-browserify": "npm:stream-browserify@2.0.1"
        }
      },
      "npm:jspm-nodelibs-os@0.2.0": {
        "map": {
          "os-browserify": "npm:os-browserify@0.2.1"
        }
      },
      "npm:jspm-nodelibs-string_decoder@0.2.0": {
        "map": {
          "string_decoder-browserify": "npm:string_decoder@0.10.31"
        }
      },
      "npm:invariant@2.2.2": {
        "map": {
          "loose-envify": "npm:loose-envify@1.3.1"
        }
      },
      "npm:sha.js@2.4.8": {
        "map": {
          "inherits": "npm:inherits@2.0.3"
        }
      },
      "npm:jspm-nodelibs-zlib@0.2.2": {
        "map": {
          "browserify-zlib": "npm:browserify-zlib@0.1.4"
        }
      },
      "npm:jspm-nodelibs-buffer@0.2.1": {
        "map": {
          "buffer": "npm:buffer@4.9.1"
        }
      },
      "npm:asn1.js@4.9.1": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "inherits": "npm:inherits@2.0.3",
          "minimalistic-assert": "npm:minimalistic-assert@1.0.0"
        }
      },
      "npm:redux@3.6.0": {
        "map": {
          "lodash-es": "npm:lodash-es@4.17.4",
          "loose-envify": "npm:loose-envify@1.3.1",
          "symbol-observable": "npm:symbol-observable@1.0.4",
          "lodash": "npm:lodash@4.17.4"
        }
      },
      "npm:promise@7.1.1": {
        "map": {
          "asap": "npm:asap@2.0.5"
        }
      },
      "npm:isomorphic-fetch@2.2.1": {
        "map": {
          "node-fetch": "npm:node-fetch@1.6.3",
          "whatwg-fetch": "npm:whatwg-fetch@1.1.1"
        }
      },
      "npm:node-fetch@1.6.3": {
        "map": {
          "encoding": "npm:encoding@0.1.12",
          "is-stream": "npm:is-stream@1.1.0"
        }
      },
      "npm:encoding@0.1.12": {
        "map": {
          "iconv-lite": "npm:iconv-lite@0.4.15"
        }
      },
      "npm:rxjs@5.2.0": {
        "map": {
          "symbol-observable": "npm:symbol-observable@1.0.4"
        }
      },
      "npm:loose-envify@1.3.1": {
        "map": {
          "js-tokens": "npm:js-tokens@3.0.1"
        }
      },
      "npm:elliptic@6.4.0": {
        "map": {
          "bn.js": "npm:bn.js@4.11.6",
          "inherits": "npm:inherits@2.0.3",
          "hash.js": "npm:hash.js@1.0.3",
          "minimalistic-assert": "npm:minimalistic-assert@1.0.0",
          "hmac-drbg": "npm:hmac-drbg@1.0.0",
          "minimalistic-crypto-utils": "npm:minimalistic-crypto-utils@1.0.1",
          "brorand": "npm:brorand@1.1.0"
        }
      },
      "npm:hmac-drbg@1.0.0": {
        "map": {
          "hash.js": "npm:hash.js@1.0.3",
          "minimalistic-assert": "npm:minimalistic-assert@1.0.0",
          "minimalistic-crypto-utils": "npm:minimalistic-crypto-utils@1.0.1"
        }
      },
      "npm:react-redux@5.0.3": {
        "map": {
          "lodash": "npm:lodash@4.17.4",
          "lodash-es": "npm:lodash-es@4.17.4",
          "hoist-non-react-statics": "npm:hoist-non-react-statics@1.2.0",
          "invariant": "npm:invariant@2.2.2",
          "loose-envify": "npm:loose-envify@1.3.1"
        }
      },
      "npm:react-dom@15.4.2": {
        "map": {
          "fbjs": "npm:fbjs@0.8.9",
          "loose-envify": "npm:loose-envify@1.3.1",
          "object-assign": "npm:object-assign@4.1.1"
        }
      },
      "npm:react@15.4.2": {
        "map": {
          "fbjs": "npm:fbjs@0.8.9",
          "loose-envify": "npm:loose-envify@1.3.1",
          "object-assign": "npm:object-assign@4.1.1"
        }
      },
      "npm:fbjs@0.8.9": {
        "map": {
          "loose-envify": "npm:loose-envify@1.3.1",
          "object-assign": "npm:object-assign@4.1.1",
          "setimmediate": "npm:setimmediate@1.0.5",
          "core-js": "npm:core-js@1.2.7",
          "isomorphic-fetch": "npm:isomorphic-fetch@2.2.1",
          "ua-parser-js": "npm:ua-parser-js@0.7.12",
          "promise": "npm:promise@7.1.1"
        }
      },
      "npm:stream-http@2.6.3": {
        "map": {
          "builtin-status-codes": "npm:builtin-status-codes@3.0.0",
          "readable-stream": "npm:readable-stream@2.2.6",
          "xtend": "npm:xtend@4.0.1",
          "inherits": "npm:inherits@2.0.3",
          "to-arraybuffer": "npm:to-arraybuffer@1.0.1"
        }
      },
      "npm:readable-stream@2.2.6": {
        "map": {
          "inherits": "npm:inherits@2.0.3",
          "string_decoder": "npm:string_decoder@0.10.31",
          "isarray": "npm:isarray@1.0.0",
          "buffer-shims": "npm:buffer-shims@1.0.0",
          "process-nextick-args": "npm:process-nextick-args@1.0.7",
          "util-deprecate": "npm:util-deprecate@1.0.2",
          "core-util-is": "npm:core-util-is@1.0.2"
        }
      },
      "npm:parse-asn1@5.1.0": {
        "map": {
          "browserify-aes": "npm:browserify-aes@1.0.6",
          "create-hash": "npm:create-hash@1.1.2",
          "evp_bytestokey": "npm:evp_bytestokey@1.0.0",
          "pbkdf2": "npm:pbkdf2@3.0.9",
          "asn1.js": "npm:asn1.js@4.9.1"
        }
      },
      "npm:react-router@3.0.2": {
        "map": {
          "warning": "npm:warning@3.0.0",
          "loose-envify": "npm:loose-envify@1.3.1",
          "history": "npm:history@3.3.0",
          "hoist-non-react-statics": "npm:hoist-non-react-statics@1.2.0",
          "invariant": "npm:invariant@2.2.2"
        }
      },
      "npm:warning@3.0.0": {
        "map": {
          "loose-envify": "npm:loose-envify@1.3.1"
        }
      },
      "npm:history@3.3.0": {
        "map": {
          "warning": "npm:warning@3.0.0",
          "loose-envify": "npm:loose-envify@1.3.1",
          "invariant": "npm:invariant@2.2.2",
          "query-string": "npm:query-string@4.3.2"
        }
      },
      "npm:query-string@4.3.2": {
        "map": {
          "object-assign": "npm:object-assign@4.1.1",
          "strict-uri-encode": "npm:strict-uri-encode@1.1.0"
        }
      }
    }
  });
  