diff --git a/ios/edge.xcodeproj/project.pbxproj b/ios/edge.xcodeproj/project.pbxproj index f027c515aa2..2a4152591a3 100644 --- a/ios/edge.xcodeproj/project.pbxproj +++ b/ios/edge.xcodeproj/project.pbxproj @@ -5,6 +5,7 @@ }; objectVersion = 46; objects = { + /* Begin PBXBuildFile section */ 009458D283FE4A8BAB096CFB /* libReactNativePermissions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3778FEBC546640FEB6B32567 /* libReactNativePermissions.a */; }; 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; @@ -75,11 +76,13 @@ B1E9C434242946E08D4599B2 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0750F8B0567B4CBBADEFD8F6 /* SimpleLineIcons.ttf */; }; B316E8323117440B901AE33D /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 98A4A26A585B4A0993EB30FE /* Foundation.ttf */; }; B524052E4B614E5DB1524555 /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2FA801C9862A4F139CE441F6 /* Roboto_medium.ttf */; }; + BBC58039F78F47AEA0182398 /* libRNBlur.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DBCCC28D032465DA7B087B6 /* libRNBlur.a */; }; C0B8DCFF972C447AA62321BF /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BDFF01E9980F4B789F21E1E1 /* Ionicons.ttf */; }; C4BAE8129D404036B7D586E1 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CC800BDD23974A43B61E2048 /* libRNDeviceInfo.a */; }; C598D213BA5B4A13B2C02A44 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4C82058B371B46CD92A82298 /* Entypo.ttf */; }; C603A0E2072C40E8BCB97C3E /* libRNShare.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CDF4EBCBF4A4831AE1B1D68 /* libRNShare.a */; }; C6083FC43046433486D01D20 /* libTcpSockets.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 26236CD03CA74A02860A63F8 /* libTcpSockets.a */; }; + C64D570BE7AF4844A5813E02 /* libSplashScreen.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA39136B1FF54882916C37AC /* libSplashScreen.a */; }; C87C995B7DD04A7184195CAA /* SourceSansPro-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE8F675658884B9F9B064110 /* SourceSansPro-Light.ttf */; }; CB8D1E15F431478DBADAF7BD /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D5DF84AD90B142838C4B352E /* libRNFS.a */; }; CFC169ACDFF24F3B8D8A38D6 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8AE61E1C4DDF4FFD823E9883 /* Ionicons.ttf */; }; @@ -92,8 +95,6 @@ F4A1362EDC4D400FAF32088B /* font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0B2C1EBCE00B4AB2B3795968 /* font.ttf */; }; FA970440AC4B42D28C64CB75 /* SourceSansPro-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C239BC5B07794717978CEF5D /* SourceSansPro-ExtraLight.ttf */; }; FDD9C0D41F1C46ED004372CA /* RNHockeyApp.m in Sources */ = {isa = PBXBuildFile; fileRef = FDD9C0D31F1C46ED004372CA /* RNHockeyApp.m */; }; - BBC58039F78F47AEA0182398 /* libRNBlur.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DBCCC28D032465DA7B087B6 /* libRNBlur.a */; }; - C64D570BE7AF4844A5813E02 /* libSplashScreen.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA39136B1FF54882916C37AC /* libSplashScreen.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -440,6 +441,27 @@ remoteGlobalIDString = 6456441F1EB8DA9100672408; remoteInfo = "RNFS-tvOS"; }; + FD12D4BE1F33B4D0005823F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 47FFDC0EB95742F79C42879F /* RNBlur.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A68BD7BC1BC31318005F02DF; + remoteInfo = RNBlur; + }; + FD12D4C01F33B4D0005823F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 47FFDC0EB95742F79C42879F /* RNBlur.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 64D1BD361EEFE88700F3F219; + remoteInfo = "RNBlur-tvOS"; + }; + FD12D4CC1F33B4D0005823F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2D32630C043E4462A94ED904 /* SplashScreen.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D7682761D8E76B80014119E; + remoteInfo = SplashScreen; + }; FDD9C0A01F1C46BD004372CA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = FDD9C0981F1C46BD004372CA /* Pods.xcodeproj */; @@ -506,6 +528,7 @@ 2A2684F551B44D0AB6288C90 /* RCTContacts.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTContacts.xcodeproj; path = "../node_modules/react-native-contacts/ios/RCTContacts.xcodeproj"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* edge-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "edge-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* edge-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "edge-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D32630C043E4462A94ED904 /* SplashScreen.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = SplashScreen.xcodeproj; path = "../node_modules/react-native-splash-screen/ios/SplashScreen.xcodeproj"; sourceTree = ""; }; 2FA801C9862A4F139CE441F6 /* Roboto_medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Roboto_medium.ttf; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = ""; }; 35B7C9406B7E4DCDACBBFCAC /* SourceSansPro-SemiboldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SourceSansPro-SemiboldItalic.ttf"; path = "../src/assets/fonts/SourceSansPro-SemiboldItalic.ttf"; sourceTree = ""; }; 3778FEBC546640FEB6B32567 /* libReactNativePermissions.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libReactNativePermissions.a; sourceTree = ""; }; @@ -513,6 +536,7 @@ 3CDF4EBCBF4A4831AE1B1D68 /* libRNShare.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNShare.a; sourceTree = ""; }; 3EB5B764809C6E2BDDD47714 /* libPods-edge.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-edge.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4071F13220774C1E884D7CE6 /* RNFastCrypto.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFastCrypto.xcodeproj; path = "../node_modules/react-native-fast-crypto/ios/RNFastCrypto.xcodeproj"; sourceTree = ""; }; + 47FFDC0EB95742F79C42879F /* RNBlur.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNBlur.xcodeproj; path = "../node_modules/react-native-blur/ios/RNBlur.xcodeproj"; sourceTree = ""; }; 4C53E8767BBE491CAE3B7610 /* libRNRandomBytes.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNRandomBytes.a; sourceTree = ""; }; 4C82058B371B46CD92A82298 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; 4DF9D1093281430AA1DA9CCF /* libRCTMaterialKit.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTMaterialKit.a; sourceTree = ""; }; @@ -533,6 +557,7 @@ 6A599ED42678408CB213F9CB /* SourceSansPro-Semibold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SourceSansPro-Semibold.ttf"; path = "../src/assets/fonts/SourceSansPro-Semibold.ttf"; sourceTree = ""; }; 6F375984341A4E6F997CF0A2 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; + 7DBCCC28D032465DA7B087B6 /* libRNBlur.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNBlur.a; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 842BCA6BE88D4CCDAAC176C5 /* SourceSansPro-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SourceSansPro-BoldItalic.ttf"; path = "../src/assets/fonts/SourceSansPro-BoldItalic.ttf"; sourceTree = ""; }; 892B05950477468DB932A014 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; @@ -560,6 +585,7 @@ D5DF84AD90B142838C4B352E /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; }; D6E3BCA539B544ACB041AF95 /* libRNMyFancyLibrary.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNMyFancyLibrary.a; sourceTree = ""; }; DA01D03C1F23296F00872B51 /* LaunchScreen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = LaunchScreen.png; path = edge/LaunchScreen.png; sourceTree = ""; }; + DA39136B1FF54882916C37AC /* libSplashScreen.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libSplashScreen.a; sourceTree = ""; }; E306F33BD2AA495DB502D784 /* libRCTContactsWrapper.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTContactsWrapper.a; sourceTree = ""; }; E5D6824DDD854B41A4A6D426 /* libRCTContacts.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTContacts.a; sourceTree = ""; }; EBA591522D6147A6BF1354C4 /* RCTCamera.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTCamera.xcodeproj; path = "../node_modules/react-native-camera/ios/RCTCamera.xcodeproj"; sourceTree = ""; }; @@ -568,10 +594,6 @@ FDD9C0981F1C46BD004372CA /* Pods.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Pods.xcodeproj; path = Pods/Pods.xcodeproj; sourceTree = ""; }; FDD9C0D21F1C46ED004372CA /* RNHockeyApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNHockeyApp.h; path = "../node_modules/react-native-hockeyapp/RNHockeyApp/RNHockeyApp.h"; sourceTree = ""; }; FDD9C0D31F1C46ED004372CA /* RNHockeyApp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNHockeyApp.m; path = "../node_modules/react-native-hockeyapp/RNHockeyApp/RNHockeyApp.m"; sourceTree = ""; }; - 47FFDC0EB95742F79C42879F /* RNBlur.xcodeproj */ = {isa = PBXFileReference; name = "RNBlur.xcodeproj"; path = "../node_modules/react-native-blur/ios/RNBlur.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; - 7DBCCC28D032465DA7B087B6 /* libRNBlur.a */ = {isa = PBXFileReference; name = "libRNBlur.a"; path = "libRNBlur.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; - 2D32630C043E4462A94ED904 /* SplashScreen.xcodeproj */ = {isa = PBXFileReference; name = "SplashScreen.xcodeproj"; path = "../node_modules/react-native-splash-screen/ios/SplashScreen.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; - DA39136B1FF54882916C37AC /* libSplashScreen.a */ = {isa = PBXFileReference; name = "libSplashScreen.a"; path = "libSplashScreen.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1052,6 +1074,23 @@ name = Products; sourceTree = ""; }; + FD12D4911F33B4D0005823F2 /* Products */ = { + isa = PBXGroup; + children = ( + FD12D4BF1F33B4D0005823F2 /* libRNBlur.a */, + FD12D4C11F33B4D0005823F2 /* libRNBlur.a */, + ); + name = Products; + sourceTree = ""; + }; + FD12D4931F33B4D0005823F2 /* Products */ = { + isa = PBXGroup; + children = ( + FD12D4CD1F33B4D0005823F2 /* libSplashScreen.a */, + ); + name = Products; + sourceTree = ""; + }; FDD9C0991F1C46BD004372CA /* Products */ = { isa = PBXGroup; children = ( @@ -1259,6 +1298,10 @@ ProductGroup = 6E10913D1EB0512200947A0B /* Products */; ProjectRef = BDCC0C82B5E64518B315ED90 /* ReactNativePermissions.xcodeproj */; }, + { + ProductGroup = FD12D4911F33B4D0005823F2 /* Products */; + ProjectRef = 47FFDC0EB95742F79C42879F /* RNBlur.xcodeproj */; + }, { ProductGroup = 6E1091301EB0512200947A0B /* Products */; ProjectRef = 013804AE6D1C4F7F931EFC08 /* RNDeviceInfo.xcodeproj */; @@ -1291,6 +1334,10 @@ ProductGroup = 6E10911C1EB0512100947A0B /* Products */; ProjectRef = 892B05950477468DB932A014 /* RNVectorIcons.xcodeproj */; }, + { + ProductGroup = FD12D4931F33B4D0005823F2 /* Products */; + ProjectRef = 2D32630C043E4462A94ED904 /* SplashScreen.xcodeproj */; + }, { ProductGroup = 6E10912E1EB0512200947A0B /* Products */; ProjectRef = F4D44BFC0C7E41B4BEBA4B07 /* TcpSockets.xcodeproj */; @@ -1640,6 +1687,27 @@ remoteRef = DA6569551F17436100226952 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + FD12D4BF1F33B4D0005823F2 /* libRNBlur.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNBlur.a; + remoteRef = FD12D4BE1F33B4D0005823F2 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FD12D4C11F33B4D0005823F2 /* libRNBlur.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNBlur.a; + remoteRef = FD12D4C01F33B4D0005823F2 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FD12D4CD1F33B4D0005823F2 /* libSplashScreen.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSplashScreen.a; + remoteRef = FD12D4CC1F33B4D0005823F2 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; FDD9C0A11F1C46BD004372CA /* HockeySDKResources.bundle */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; diff --git a/package-lock.json b/package-lock.json index 8a11aa7aec5..6118dc91755 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2,6 +2,7 @@ "name": "edge", "version": "0.0.1", "lockfileVersion": 1, + "requires": true, "dependencies": { "absolute-path": { "version": "0.0.0", @@ -11,12 +12,19 @@ "abstract-leveldown": { "version": "0.12.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.3.tgz", - "integrity": "sha1-EWsexcdxDvei1XBnaLvbREC+EHA=" + "integrity": "sha1-EWsexcdxDvei1XBnaLvbREC+EHA=", + "requires": { + "xtend": "3.0.0" + } }, "accepts": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", - "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=" + "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", + "requires": { + "mime-types": "2.1.11", + "negotiator": "0.5.3" + } }, "acorn": { "version": "5.1.1", @@ -29,6 +37,9 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, + "requires": { + "acorn": "3.3.0" + }, "dependencies": { "acorn": { "version": "3.3.0", @@ -44,43 +55,135 @@ "integrity": "sha1-9fdYhJRSaZfMY1zDNMi7jpZ6XYI=" }, "airbitz-core-js": { - "version": "git+ssh://git@github.com/Airbitz/airbitz-core-js.git#e81b6a5c512d8cab24ad0bd2799592adc45621a8" + "version": "git+ssh://git@github.com/Airbitz/airbitz-core-js.git#d7704a4239b2cdd5aad6ec511d26a64a1bd337e3", + "requires": { + "aes-js": "3.1.0", + "base-x": "1.1.0", + "disklet": "0.1.3", + "elliptic": "6.4.0", + "hash.js": "1.1.3", + "redux": "3.7.2", + "redux-thunk": "2.2.0", + "rfc4648": "0.9.1", + "scrypt-js": "2.0.3", + "utf8": "2.1.2" + } }, "airbitz-core-react-native": { - "version": "git+ssh://git@github.com/airbitz/airbitz-core-react-native.git#53d6543ceea1ff8c33da05c94e8a50a1a2304daf" + "version": "git+ssh://git@github.com/airbitz/airbitz-core-react-native.git#53d6543ceea1ff8c33da05c94e8a50a1a2304daf", + "requires": { + "airbitz-core-js": "git+ssh://git@github.com/Airbitz/airbitz-core-js.git#d7704a4239b2cdd5aad6ec511d26a64a1bd337e3", + "react-native-fast-crypto": "git+ssh://git@github.com/Airbitz/react-native-fast-crypto.git#f24af576fb7af7769e8b34039fce923c41718c3a", + "react-native-fs": "2.5.1", + "react-native-randombytes": "2.2.0", + "rfc4648": "0.9.1" + } }, "airbitz-currency-bitcoin": { - "version": "git+ssh://git@github.com/Airbitz/airbitz-currency-bitcoin.git#8ae846a4bc84f7b3ced2b82825dec48cf8029356", + "version": "git+ssh://git@github.com/Airbitz/airbitz-currency-bitcoin.git#063a1ce4aa11b118a061579d7989994d083613d2", + "requires": { + "assert": "1.4.1", + "asyncstorage-down": "3.1.1", + "babel-loader": "7.1.1", + "browserify-zlib": "0.1.4", + "bs58check": "2.0.2", + "buffer": "3.6.0", + "console-browserify": "1.1.0", + "constants-browserify": "0.0.1", + "dns.js": "1.0.1", + "domain-browser": "1.1.7", + "events": "1.1.1", + "https-browserify": "0.0.1", + "levelup": "1.3.9", + "os-browserify": "0.1.2", + "path-browserify": "0.0.0", + "process": "0.11.10", + "querystring-es3": "0.2.1", + "react": "16.0.0-alpha.6", + "react-native-crypto": "2.0.2", + "react-native-fs": "2.5.1", + "react-native-http": "github:tradle/react-native-http#834492dbc792b1dec8ec8f0a1c9671f640339f01", + "react-native-level": "3.0.0", + "react-native-level-fs": "3.0.0", + "react-native-randombytes": "2.2.0", + "react-native-secp256k1": "git+https://github.com/Airbitz/react-native-secp256k1.git#728c477a716e3b0bdb7dd7b1bfc99704c274cd1e", + "react-native-tcp": "git+https://github.com/Airbitz/react-native-tcp.git#d00165f83c3fc60a6d01941f583f11edd97ed80f", + "react-native-udp": "2.0.0", + "readable-stream": "1.1.14", + "rfc4648": "0.9.1", + "stream": "0.0.2", + "stream-browserify": "1.0.0", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.0", + "url": "0.10.3", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, "dependencies": { "asyncstorage-down": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/asyncstorage-down/-/asyncstorage-down-3.1.1.tgz", - "integrity": "sha1-aLBBa502Gv6bKikpY6tHTraBNRg=" + "integrity": "sha1-aLBBa502Gv6bKikpY6tHTraBNRg=", + "requires": { + "abstract-leveldown": "0.12.3", + "argsarray": "0.0.1", + "d64": "1.0.0", + "tiny-queue": "0.2.0" + } }, "react": { "version": "16.0.0-alpha.6", "resolved": "https://registry.npmjs.org/react/-/react-16.0.0-alpha.6.tgz", - "integrity": "sha1-LMsa+0QlzMEveKEjpmby5MFBrbk=" + "integrity": "sha1-LMsa+0QlzMEveKEjpmby5MFBrbk=", + "requires": { + "fbjs": "0.8.14", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } } } }, "airbitz-currency-ethereum": { - "version": "git+ssh://git@github.com/Airbitz/airbitz-currency-ethereum.git#a12745309fccf8713cd030b7459a31402306a7af", + "version": "git+ssh://git@github.com/Airbitz/airbitz-currency-ethereum.git#018f9f272ada310c6d272fce63d474dd9dc5a98a", + "requires": { + "biggystring": "1.0.4", + "bn.js": "4.11.7", + "buffer": "5.0.6", + "ethereumjs-abi": "0.6.4", + "ethereumjs-tx": "1.3.3", + "ethereumjs-util": "5.1.2", + "ethereumjs-wallet": "git+ssh://git@github.com/Airbitz/ethereumjs-wallet.git#6157e11ea10a734fbe55f4c7ea542780975b60ef", + "jsonschema": "1.1.1", + "sprintf-js": "1.1.1", + "updot": "1.0.2", + "uri-js": "3.0.2" + }, "dependencies": { "buffer": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.6.tgz", - "integrity": "sha1-LqZp9+7Atu2gWwj4tf9mGyhXNYg=" + "integrity": "sha1-LqZp9+7Atu2gWwj4tf9mGyhXNYg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8" + } } } }, "airbitz-exchange-plugins": { - "version": "git+ssh://git@github.com/Airbitz/airbitz-exchange-plugins.git#8e64a788c5c6cbf73119837d6195ceff4b0dca63" + "version": "git+ssh://git@github.com/Airbitz/airbitz-exchange-plugins.git#8e64a788c5c6cbf73119837d6195ceff4b0dca63", + "requires": { + "iso4217": "0.2.0" + } }, "ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=" + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } }, "ajv-keywords": { "version": "1.5.1", @@ -91,7 +194,12 @@ "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=" + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } }, "ansi": { "version": "0.3.1", @@ -116,7 +224,11 @@ "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==" + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } }, "aproba": { "version": "1.1.2", @@ -127,16 +239,32 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + }, "dependencies": { "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } } } }, @@ -145,6 +273,9 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, + "requires": { + "sprintf-js": "1.0.3" + }, "dependencies": { "sprintf-js": { "version": "1.0.3", @@ -162,7 +293,10 @@ "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=" + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "1.1.0" + } }, "arr-flatten": { "version": "1.1.0", @@ -193,7 +327,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } }, "array-uniq": { "version": "1.0.3", @@ -209,7 +346,11 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", - "dev": true + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.7.0" + } }, "arrify": { "version": "1.0.1", @@ -235,12 +376,20 @@ "asn1.js": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=" + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "requires": { + "bn.js": "4.11.7", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } }, "assert": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=" + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } }, "assert-plus": { "version": "0.2.0", @@ -250,7 +399,10 @@ "async": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==" + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "requires": { + "lodash": "4.17.4" + } }, "asynckit": { "version": "0.4.0", @@ -261,11 +413,21 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/asyncstorage-down/-/asyncstorage-down-4.0.1.tgz", "integrity": "sha1-OAtISrYpqths1rcj4E8IwForAGc=", + "requires": { + "abstract-leveldown": "2.6.1", + "argsarray": "0.0.1", + "d64": "1.0.0", + "ltgt": "2.2.0", + "tiny-queue": "0.2.0" + }, "dependencies": { "abstract-leveldown": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.1.tgz", - "integrity": "sha1-+QFKVmm3RkGOFFFo3qSaBErhWQA=" + "integrity": "sha1-+QFKVmm3RkGOFFFo3qSaBErhWQA=", + "requires": { + "xtend": "4.0.1" + } }, "xtend": { "version": "4.0.1", @@ -287,23 +449,65 @@ "babel-code-frame": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=" + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } }, "babel-core": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=" + "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "requires": { + "babel-code-frame": "6.22.0", + "babel-generator": "6.25.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.17.4", + "convert-source-map": "1.5.0", + "debug": "2.6.8", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.7", + "slash": "1.0.0", + "source-map": "0.5.6" + } }, "babel-eslint": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", - "dev": true + "dev": true, + "requires": { + "babel-code-frame": "6.22.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.17.4" + } }, "babel-generator": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.6", + "trim-right": "1.0.1" + }, "dependencies": { "jsesc": { "version": "1.3.0", @@ -315,82 +519,159 @@ "babel-helper-builder-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz", - "integrity": "sha1-CteRfjPI11HmRtrKTnfMGTd9LLw=" + "integrity": "sha1-CteRfjPI11HmRtrKTnfMGTd9LLw=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "esutils": "2.0.2" + } }, "babel-helper-call-delegate": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=" + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-define-map": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz", - "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=" + "integrity": "sha1-epdH8ljYlH0y1RX2qhx70CIEoIA=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "lodash": "4.17.4" + } }, "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=" + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-get-function-arity": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=" + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-hoist-variables": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=" + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-optimise-call-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=" + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz", - "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=" + "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "lodash": "4.17.4" + } }, "babel-helper-remap-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=" + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helper-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=" + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=" + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-loader": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", - "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=" + "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=" + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-check-es2015-constants": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=" + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-external-helpers": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", - "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=" + "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-react-transform": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", - "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=" + "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", + "requires": { + "lodash": "4.17.4" + } }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", @@ -425,177 +706,331 @@ "babel-plugin-transform-async-to-generator": { "version": "6.16.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz", - "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=" + "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=", + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-class-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=" + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=" + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=" + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-block-scoping": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz", - "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=" + "integrity": "sha1-dsKV3DpHQbFmWt/TFnIV3P8ypXY=", + "requires": { + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "lodash": "4.17.4" + } }, "babel-plugin-transform-es2015-classes": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=" + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "6.24.1", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=" + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=" + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=" + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=" + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=" + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=" + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=" + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=" + "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=" + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=" + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } }, "babel-plugin-transform-es2015-object-super": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=" + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-parameters": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=" + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.25.0", + "babel-template": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=" + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=" + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=" + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "6.24.1", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=" + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=" + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=" + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "6.24.1", + "babel-runtime": "6.25.0", + "regexpu-core": "2.0.0" + } }, "babel-plugin-transform-es3-member-expression-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz", - "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=" + "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-es3-property-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz", - "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=" + "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=" + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-object-assign": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz", - "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=" + "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-object-rest-spread": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", - "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=" + "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=" + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=" + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "6.24.1", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-react-jsx-source": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=" + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.25.0" + } }, "babel-plugin-transform-regenerator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz", - "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=" + "integrity": "sha1-uNowWtQ8PJm0hI5P5AN7dw0jxBg=", + "requires": { + "regenerator-transform": "0.9.11" + } }, "babel-plugin-transform-strict-mode": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=" + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0" + } }, "babel-polyfill": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "6.25.0", + "core-js": "2.4.1", + "regenerator-runtime": "0.10.5" + }, "dependencies": { "core-js": { "version": "2.4.1", @@ -607,27 +1042,134 @@ "babel-preset-es2015": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=" + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.24.1", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.24.1" + } }, "babel-preset-es2015-node": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz", - "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=" + "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=", + "requires": { + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "semver": "5.4.1" + } }, "babel-preset-fbjs": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz", - "integrity": "sha512-6XVQwlO26V5/0P9s2Eje8Epqkv/ihaMJ798+W98ktOA8fCn2IFM6wEi7CDW3fTbKFZ/8fDGvGZH01B6GSuNiWA==" + "integrity": "sha512-6XVQwlO26V5/0P9s2Eje8Epqkv/ihaMJ798+W98ktOA8fCn2IFM6wEi7CDW3fTbKFZ/8fDGvGZH01B6GSuNiWA==", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.24.1", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es3-member-expression-literals": "6.22.0", + "babel-plugin-transform-es3-property-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1" + } }, "babel-preset-react-native": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-1.9.2.tgz", - "integrity": "sha1-sird0uNV/zs5Zxt5voB+Ut+hRfI=" + "integrity": "sha1-sird0uNV/zs5Zxt5voB+Ut+hRfI=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-react-transform": "2.0.2", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.24.1", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-assign": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.24.1", + "react-transform-hmr": "1.0.4" + } }, "babel-register": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz", "integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=", + "requires": { + "babel-core": "6.25.0", + "babel-runtime": "6.25.0", + "core-js": "2.4.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.15" + }, "dependencies": { "core-js": { "version": "2.4.1", @@ -640,6 +1182,10 @@ "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "requires": { + "core-js": "2.4.1", + "regenerator-runtime": "0.10.5" + }, "dependencies": { "core-js": { "version": "2.4.1", @@ -651,22 +1197,50 @@ "babel-template": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=" + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "requires": { + "babel-runtime": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.17.4", + "lodash": "4.17.4" + } }, "babel-traverse": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=" + "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "requires": { + "babel-code-frame": "6.22.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.17.4", + "debug": "2.6.8", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } }, "babel-types": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=" + "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "requires": { + "babel-runtime": "6.25.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } }, "babelify": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=" + "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", + "requires": { + "babel-core": "6.25.0", + "object-assign": "4.1.1" + } }, "babylon": { "version": "6.17.4", @@ -722,7 +1296,10 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } }, "beeper": { "version": "1.1.1", @@ -740,9 +1317,12 @@ "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" }, "biggystring": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/biggystring/-/biggystring-1.0.3.tgz", - "integrity": "sha512-cmUAs64LkcPKK7E0JDG4ZQoGTHIyKG9YYavGPWqeK3fWqXno5DRjp9x8FE7gC8YD01tLaDJ8mL6i4PRGY7Fkcg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/biggystring/-/biggystring-1.0.4.tgz", + "integrity": "sha512-G3ZdFLLQorlcaKqUGKo6kgVh4O7l55h7wxCRkoMp7R+hNyGG0NfNBxu11RXzuyL5AUF9laYf52th4mNfz4hHkA==", + "requires": { + "bn.js": "4.11.7" + } }, "bindings": { "version": "1.3.0", @@ -752,12 +1332,18 @@ "bip66": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=" + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "5.1.1" + } }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", "integrity": "sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4=", + "requires": { + "readable-stream": "1.0.34" + }, "dependencies": { "isarray": { "version": "0.0.1", @@ -767,7 +1353,13 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } } } }, @@ -785,11 +1377,26 @@ "version": "1.13.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz", "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=", + "requires": { + "bytes": "2.1.0", + "content-type": "1.0.2", + "debug": "2.2.0", + "depd": "1.0.1", + "http-errors": "1.3.1", + "iconv-lite": "0.4.11", + "on-finished": "2.3.0", + "qs": "4.0.0", + "raw-body": "2.1.7", + "type-is": "1.6.15" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "iconv-lite": { "version": "0.4.11", @@ -806,27 +1413,45 @@ "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=" + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.16.3" + } }, "bplist-creator": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", - "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=" + "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", + "requires": { + "stream-buffers": "2.2.0" + } }, "bplist-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", - "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=" + "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", + "requires": { + "big-integer": "1.6.23" + } }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } }, "brorand": { "version": "1.1.0", @@ -836,64 +1461,118 @@ "browserify-aes": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=" + "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.0", + "inherits": "2.0.3" + } }, "browserify-cipher": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=" + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "requires": { + "browserify-aes": "1.0.6", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.0" + } }, "browserify-des": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=" + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } }, "browserify-rsa": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=" + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "4.11.7", + "randombytes": "2.0.5" + } }, "browserify-sha3": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.1.tgz", - "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=" + "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=", + "requires": { + "js-sha3": "0.3.1" + } }, "browserify-sign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=" + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "4.11.7", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" + } }, "browserify-zlib": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=" + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "0.2.9" + } }, "bs58": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "requires": { + "base-x": "3.0.2" + }, "dependencies": { "base-x": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.2.tgz", - "integrity": "sha1-v4c4YbdRQnm3lp80CSnquHwR0TA=" + "integrity": "sha1-v4c4YbdRQnm3lp80CSnquHwR0TA=", + "requires": { + "safe-buffer": "5.1.1" + } } } }, "bs58check": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.0.2.tgz", - "integrity": "sha1-BvY7AcL6YXMDPJDrh/H+PS4T2Jo=" + "integrity": "sha1-BvY7AcL6YXMDPJDrh/H+PS4T2Jo=", + "requires": { + "bs58": "4.0.1", + "create-hash": "1.1.3" + } }, "bser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.3.tgz", - "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=" + "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=", + "requires": { + "node-int64": "0.4.0" + } }, "buffer": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", + "requires": { + "base64-js": "0.0.8", + "ieee754": "1.1.8", + "isarray": "1.0.0" + }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -921,7 +1600,10 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true + "dev": true, + "requires": { + "callsites": "0.2.0" + } }, "callsites": { "version": "0.2.0", @@ -942,12 +1624,23 @@ "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=" + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "chownr": { "version": "1.0.1", @@ -963,7 +1656,11 @@ "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } }, "circular-json": { "version": "0.3.3", @@ -979,7 +1676,10 @@ "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } }, "cli-width": { "version": "2.1.0", @@ -989,7 +1689,12 @@ "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=" + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } }, "clone": { "version": "0.1.19", @@ -1015,6 +1720,10 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-2.3.0.tgz", "integrity": "sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q=", + "requires": { + "bs58": "2.0.1", + "create-hash": "1.1.3" + }, "dependencies": { "bs58": { "version": "2.0.1", @@ -1026,12 +1735,19 @@ "color": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", - "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=" + "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", + "requires": { + "color-convert": "1.9.0", + "color-string": "1.5.2" + } }, "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=" + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "requires": { + "color-name": "1.1.3" + } }, "color-name": { "version": "1.1.3", @@ -1041,7 +1757,11 @@ "color-string": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", - "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=" + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", + "requires": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } }, "colors": { "version": "1.1.2", @@ -1052,7 +1772,10 @@ "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "1.0.0" + } }, "commander": { "version": "2.11.0", @@ -1067,17 +1790,31 @@ "compressible": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=" + "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", + "requires": { + "mime-db": "1.29.0" + } }, "compression": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=", + "requires": { + "accepts": "1.2.13", + "bytes": "2.1.0", + "compressible": "2.0.11", + "debug": "2.2.0", + "on-headers": "1.0.1", + "vary": "1.0.1" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -1095,16 +1832,33 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + }, "dependencies": { "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } } } }, @@ -1112,11 +1866,47 @@ "version": "2.30.2", "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz", "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=", + "requires": { + "basic-auth-connect": "1.0.0", + "body-parser": "1.13.3", + "bytes": "2.1.0", + "compression": "1.5.2", + "connect-timeout": "1.6.2", + "content-type": "1.0.2", + "cookie": "0.1.3", + "cookie-parser": "1.3.5", + "cookie-signature": "1.0.6", + "csurf": "1.8.3", + "debug": "2.2.0", + "depd": "1.0.1", + "errorhandler": "1.4.3", + "express-session": "1.11.3", + "finalhandler": "0.4.0", + "fresh": "0.3.0", + "http-errors": "1.3.1", + "method-override": "2.3.9", + "morgan": "1.6.1", + "multiparty": "3.3.2", + "on-headers": "1.0.1", + "parseurl": "1.3.1", + "pause": "0.1.0", + "qs": "4.0.0", + "response-time": "2.3.2", + "serve-favicon": "2.3.2", + "serve-index": "1.7.3", + "serve-static": "1.10.3", + "type-is": "1.6.15", + "utils-merge": "1.0.0", + "vhost": "3.0.2" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -1129,11 +1919,20 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=", + "requires": { + "debug": "2.2.0", + "http-errors": "1.3.1", + "ms": "0.7.1", + "on-headers": "1.0.1" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -1145,7 +1944,10 @@ "console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=" + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "0.1.4" + } }, "console-control-strings": { "version": "1.1.0", @@ -1175,7 +1977,11 @@ "cookie-parser": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", - "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=" + "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", + "requires": { + "cookie": "0.1.3", + "cookie-signature": "1.0.6" + } }, "cookie-signature": { "version": "1.0.6", @@ -1200,48 +2006,92 @@ "create-ecdh": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=" + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "requires": { + "bn.js": "4.11.7", + "elliptic": "6.4.0" + } }, "create-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=" + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.8" + } }, "create-hmac": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=" + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.8" + } }, "create-react-class": { "version": "15.6.0", "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz", - "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=" + "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=", + "requires": { + "fbjs": "0.8.14", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } }, "cross-spawn": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=" + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=" + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.10.1" + } }, "csrf": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", - "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=" + "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", + "requires": { + "rndm": "1.2.0", + "tsscmp": "1.0.5", + "uid-safe": "2.1.4" + } }, "csurf": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", - "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=" + "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=", + "requires": { + "cookie": "0.1.3", + "cookie-signature": "1.0.6", + "csrf": "3.0.6", + "http-errors": "1.3.1" + } }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true + "dev": true, + "requires": { + "es5-ext": "0.10.26" + } }, "d64": { "version": "1.0.0", @@ -1252,6 +2102,9 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -1273,7 +2126,10 @@ "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } }, "debug-log": { "version": "1.0.1", @@ -1313,11 +2169,17 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "requires": { + "abstract-leveldown": "2.6.2" + }, "dependencies": { "abstract-leveldown": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.2.tgz", - "integrity": "sha512-6RmGuGZSsvwIYS9otANM+Rie7/6UNdE0IbxwUiXFjXmjHNCJZEjyX2Pltl5BvIYszLODlsnXtyA7A7Ujlca4Gw==" + "integrity": "sha512-6RmGuGZSsvwIYS9otANM+Rie7/6UNdE0IbxwUiXFjXmjHNCJZEjyX2Pltl5BvIYszLODlsnXtyA7A7Ujlca4Gw==", + "requires": { + "xtend": "4.0.1" + } }, "xtend": { "version": "4.0.1", @@ -1331,6 +2193,10 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + }, "dependencies": { "object-keys": { "version": "1.0.11", @@ -1344,13 +2210,30 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.0.tgz", "integrity": "sha1-TUSr4W7zLHebSXK9FBqAMlApoUo=", - "dev": true + "dev": true, + "requires": { + "find-root": "1.1.0", + "glob": "7.1.2", + "ignore": "3.3.3", + "pkg-config": "1.1.1", + "run-parallel": "1.1.6", + "uniq": "1.0.1" + } }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.1" + } }, "delayed-stream": { "version": "1.0.0", @@ -1375,7 +2258,11 @@ "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=" + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } }, "destroy": { "version": "1.0.4", @@ -1385,17 +2272,28 @@ "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=" + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "2.0.1" + } }, "diffie-hellman": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=" + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "requires": { + "bn.js": "4.11.7", + "miller-rabin": "4.0.0", + "randombytes": "2.0.5" + } }, "disklet": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/disklet/-/disklet-0.1.3.tgz", - "integrity": "sha512-DK0D6Vwe0m+1RBvx5Nntp8cdjpqV36yyfJ+7oDtzuSLoo7FI9/uLzo8vTUGjeOOve89MJ23NqVCvAFL+F5PLnw==" + "integrity": "sha512-DK0D6Vwe0m+1RBvx5Nntp8cdjpqV36yyfJ+7oDtzuSLoo7FI9/uLzo8vTUGjeOOve89MJ23NqVCvAFL+F5PLnw==", + "requires": { + "rfc4648": "0.9.1" + } }, "dns.js": { "version": "1.0.1", @@ -1406,7 +2304,11 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } }, "dom-walk": { "version": "0.1.1", @@ -1421,12 +2323,20 @@ "drbg.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=" + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "1.0.6", + "create-hash": "1.1.3", + "create-hmac": "1.1.6" + } }, "duplexer2": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=" + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "1.1.14" + } }, "eastasianwidth": { "version": "0.1.1", @@ -1438,7 +2348,10 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true + "optional": true, + "requires": { + "jsbn": "0.1.1" + } }, "ee-first": { "version": "1.1.1", @@ -1448,7 +2361,16 @@ "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=" + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "4.11.7", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } }, "emitter-component": { "version": "1.1.1", @@ -1463,17 +2385,26 @@ "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.18" + } }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=" + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "requires": { + "once": "1.4.0" + } }, "errno": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "requires": { + "prr": "0.0.0" + }, "dependencies": { "prr": { "version": "0.0.0", @@ -1486,6 +2417,9 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "0.2.1" + }, "dependencies": { "is-arrayish": { "version": "0.2.1", @@ -1498,11 +2432,19 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", + "requires": { + "accepts": "1.3.3", + "escape-html": "1.0.3" + }, "dependencies": { "accepts": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=" + "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", + "requires": { + "mime-types": "2.1.11", + "negotiator": "0.6.1" + } }, "negotiator": { "version": "0.6.1", @@ -1515,49 +2457,94 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", - "dev": true + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.0", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } }, "es-to-primitive": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } }, "es5-ext": { - "version": "0.10.24", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.24.tgz", - "integrity": "sha1-pVh3yZJLwMjZvTwsvhdJWsFwmxQ=", - "dev": true + "version": "0.10.26", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.26.tgz", + "integrity": "sha1-UbISilMbcMT2dkCTpzy+u4IYY3I=", + "dev": true, + "requires": { + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } }, "es6-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26", + "es6-symbol": "3.1.1" + } }, "es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26", + "es6-iterator": "2.0.1", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } }, "es6-set": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26" + } }, "es6-weak-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } }, "escape-html": { "version": "1.0.3", @@ -1573,13 +2560,56 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } }, "eslint": { "version": "3.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", "dev": true, + "requires": { + "babel-code-frame": "6.22.0", + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "debug": "2.6.8", + "doctrine": "2.0.0", + "escope": "3.6.0", + "espree": "3.4.3", + "esquery": "1.0.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.3", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.16.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.9.1", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.7.8", + "strip-bom": "3.0.0", + "strip-json-comments": "2.0.1", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + }, "dependencies": { "ansi-escapes": { "version": "1.4.0", @@ -1591,19 +2621,41 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.1.0", + "figures": "1.7.0", + "lodash": "4.17.4", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } }, "onetime": { "version": "1.1.0", @@ -1615,13 +2667,20 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true + "dev": true, + "requires": { + "once": "1.4.0" + } }, "rx-lite": { "version": "3.1.2", @@ -1660,12 +2719,20 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.7.1.tgz", "integrity": "sha1-Gvlq6lRYVoJRV9l8G1DVqPtkpac=", "dev": true, + "requires": { + "doctrine": "1.5.0", + "jsx-ast-utils": "1.4.1" + }, "dependencies": { "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } } } }, @@ -1679,7 +2746,11 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", - "dev": true + "dev": true, + "requires": { + "acorn": "5.1.1", + "acorn-jsx": "3.0.1" + } }, "esprima": { "version": "4.0.0", @@ -1691,13 +2762,20 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true + "dev": true, + "requires": { + "estraverse": "4.2.0" + } }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } }, "estraverse": { "version": "4.2.0", @@ -1724,26 +2802,60 @@ "version": "0.6.4", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.4.tgz", "integrity": "sha1-m6G7BWSS0AwnJ59uzNTVgnWRLBo=", + "requires": { + "bn.js": "4.11.7", + "ethereumjs-util": "4.5.0" + }, "dependencies": { "ethereumjs-util": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=" + "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", + "requires": { + "bn.js": "4.11.7", + "create-hash": "1.1.3", + "keccakjs": "0.2.1", + "rlp": "2.0.0", + "secp256k1": "3.3.0" + } } } }, "ethereumjs-tx": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.3.tgz", - "integrity": "sha1-7OBR0+/b53GtKlGNYWMsoqt17Ls=" + "integrity": "sha1-7OBR0+/b53GtKlGNYWMsoqt17Ls=", + "requires": { + "ethereum-common": "0.0.18", + "ethereumjs-util": "5.1.2" + } }, "ethereumjs-util": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", - "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=" + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.7", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.3.0", + "rlp": "2.0.0", + "secp256k1": "3.3.0" + } }, "ethereumjs-wallet": { "version": "git+ssh://git@github.com/Airbitz/ethereumjs-wallet.git#6157e11ea10a734fbe55f4c7ea542780975b60ef", + "requires": { + "aes-js": "0.2.4", + "bs58check": "1.3.4", + "ethereumjs-util": "4.5.0", + "hdkey": "0.7.1", + "scrypt.js": "0.2.0", + "utf8": "2.1.2", + "uuid": "2.0.3" + }, "dependencies": { "aes-js": { "version": "0.2.4", @@ -1753,30 +2865,52 @@ "bs58": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bs58/-/bs58-3.1.0.tgz", - "integrity": "sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4=" + "integrity": "sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4=", + "requires": { + "base-x": "1.1.0" + } }, "bs58check": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-1.3.4.tgz", - "integrity": "sha1-xSVABzdJEXcU+gQsMEfrj5FRy/g=" + "integrity": "sha1-xSVABzdJEXcU+gQsMEfrj5FRy/g=", + "requires": { + "bs58": "3.1.0", + "create-hash": "1.1.3" + } }, "ethereumjs-util": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=" + "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", + "requires": { + "bn.js": "4.11.7", + "create-hash": "1.1.3", + "keccakjs": "0.2.1", + "rlp": "2.0.0", + "secp256k1": "3.3.0" + } } } }, "ethjs-util": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.4.tgz", - "integrity": "sha1-HItoeSV0RO9NPz+7rC3tEs2ZfZM=" + "integrity": "sha1-HItoeSV0RO9NPz+7rC3tEs2ZfZM=", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.26" + } }, "event-target-shim": { "version": "1.1.1", @@ -1791,22 +2925,42 @@ "evp_bytestokey": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=" + "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "requires": { + "create-hash": "1.1.3" + } }, "exec-sh": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", - "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=" + "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", + "requires": { + "merge": "1.2.0" + } }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, "dependencies": { "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=" + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } } } }, @@ -1819,12 +2973,18 @@ "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=" + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "0.1.1" + } }, "expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=" + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "2.2.3" + } }, "expand-template": { "version": "1.0.3", @@ -1835,17 +2995,34 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", - "dev": true + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } }, "express-session": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz", "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=", + "requires": { + "cookie": "0.1.3", + "cookie-signature": "1.0.6", + "crc": "3.3.0", + "debug": "2.2.0", + "depd": "1.0.1", + "on-headers": "1.0.1", + "parseurl": "1.3.1", + "uid-safe": "2.0.0", + "utils-merge": "1.0.0" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -1855,7 +3032,10 @@ "uid-safe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz", - "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=" + "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=", + "requires": { + "base64-url": "1.2.1" + } } } }, @@ -1867,22 +3047,34 @@ "external-editor": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz", - "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=" + "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=", + "requires": { + "iconv-lite": "0.4.18", + "jschardet": "1.5.0", + "tmp": "0.0.31" + } }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=" + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "1.0.0" + } }, "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fancy-log": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=" + "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", + "requires": { + "chalk": "1.1.3", + "time-stamp": "1.1.0" + } }, "fast-levenshtein": { "version": "2.0.6", @@ -1894,41 +3086,99 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "requires": { + "bser": "2.0.0" + }, "dependencies": { "bser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=" + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "requires": { + "node-int64": "0.4.0" + } } } }, "fbjs": { "version": "0.8.14", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.14.tgz", - "integrity": "sha1-0dviviVMNakeCfMfnNUKQLKg7Rw=" + "integrity": "sha1-0dviviVMNakeCfMfnNUKQLKg7Rw=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.14" + } }, "fbjs-scripts": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.7.1.tgz", "integrity": "sha1-TxFeIY4kPjrdvw7dqsHjxi9wP6w=", + "requires": { + "babel-core": "6.25.0", + "babel-preset-fbjs": "1.0.0", + "core-js": "1.2.7", + "cross-spawn": "3.0.1", + "gulp-util": "3.0.8", + "object-assign": "4.1.1", + "semver": "5.4.1", + "through2": "2.0.3" + }, "dependencies": { "babel-preset-fbjs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz", - "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=" + "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=", + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.24.1", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es3-member-expression-literals": "6.22.0", + "babel-plugin-transform-es3-property-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "object-assign": "4.1.1" + } } } }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=" + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true + "dev": true, + "requires": { + "flat-cache": "1.2.2", + "object-assign": "4.1.1" + } }, "filename-regex": { "version": "2.0.1", @@ -1938,17 +3188,33 @@ "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=" + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } }, "finalhandler": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", + "requires": { + "debug": "2.2.0", + "escape-html": "1.0.2", + "on-finished": "2.3.0", + "unpipe": "1.0.0" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "escape-html": { "version": "1.0.2", @@ -1965,13 +3231,22 @@ "find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=" + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "1.0.1", + "make-dir": "1.0.0", + "pkg-dir": "2.0.0" + } }, "find-file-up": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=", - "dev": true + "dev": true, + "requires": { + "fs-exists-sync": "0.1.0", + "resolve-dir": "0.1.1" + } }, "find-parent-dir": { "version": "0.3.0", @@ -1983,7 +3258,10 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=", - "dev": true + "dev": true, + "requires": { + "find-file-up": "0.1.3" + } }, "find-root": { "version": "1.1.0", @@ -1994,7 +3272,10 @@ "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } }, "findit": { "version": "2.0.0", @@ -2006,19 +3287,39 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } }, "flow-annotation-check": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/flow-annotation-check/-/flow-annotation-check-1.3.0.tgz", "integrity": "sha1-nDx89ubn/BosbDgjeKCj3YSTIbs=", "dev": true, + "requires": { + "argparse": "1.0.9", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "glob": "7.1.1", + "load-pkg": "3.0.1" + }, "dependencies": { "glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } } } }, @@ -2031,6 +3332,21 @@ "flow-coverage-report": { "version": "github:rpl/flow-coverage-report#ccabcbdde4ccd99fccaf1d8cf82cccde70d521ed", "dev": true, + "requires": { + "array.prototype.find": "2.0.4", + "babel-runtime": "6.23.0", + "flow-annotation-check": "1.3.0", + "glob": "7.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "parse-json": "2.2.0", + "react": "15.5.4", + "react-dom": "15.5.4", + "strip-json-comments": "2.0.1", + "temp": "0.8.3", + "terminal-table": "0.0.12", + "yargs": "8.0.1" + }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -2042,7 +3358,11 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", - "dev": true + "dev": true, + "requires": { + "core-js": "2.4.1", + "regenerator-runtime": "0.10.5" + } }, "camelcase": { "version": "4.1.0", @@ -2060,7 +3380,15 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -2072,49 +3400,85 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true + "dev": true, + "requires": { + "pify": "2.3.0" + } }, "react": { "version": "15.5.4", "resolved": "https://registry.npmjs.org/react/-/react-15.5.4.tgz", "integrity": "sha1-+oPrAVBqsjfNwcjDsc6o3gEr8Ec=", - "dev": true + "dev": true, + "requires": { + "fbjs": "0.8.14", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.5.10" + } }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } }, "read-pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } }, "strip-bom": { "version": "3.0.0", @@ -2132,13 +3496,31 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.1.tgz", "integrity": "sha1-Qg73XoQMFFeoCtzKm8b6OEneUao=", - "dev": true + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } }, "yargs-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true + "dev": true, + "requires": { + "camelcase": "4.1.0" + } } } }, @@ -2150,7 +3532,10 @@ "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=" + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "1.0.2" + } }, "foreach": { "version": "2.0.5", @@ -2166,11 +3551,19 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.2.0.tgz", "integrity": "sha1-ml47kpX5gLJiPPZPojixTOvKcHs=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.16" + }, "dependencies": { "mime-types": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=" + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "requires": { + "mime-db": "1.29.0" + } } } }, @@ -2188,7 +3581,11 @@ "fs-extra": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=" + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0" + } }, "fs.realpath": { "version": "1.0.0", @@ -2205,6 +3602,9 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", "integrity": "sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=", + "requires": { + "readable-stream": "1.0.34" + }, "dependencies": { "isarray": { "version": "0.0.1", @@ -2214,14 +3614,30 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } } } }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=" + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "1.1.2", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } }, "generate-function": { "version": "2.0.0", @@ -2233,7 +3649,10 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true + "dev": true, + "requires": { + "is-property": "1.0.2" + } }, "get-caller-file": { "version": "1.0.2", @@ -2255,6 +3674,9 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -2271,22 +3693,41 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=" + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } }, "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "2.0.1" + } }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + }, "dependencies": { "process": { "version": "0.5.2", @@ -2299,13 +3740,23 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true + "dev": true, + "requires": { + "global-prefix": "0.1.5", + "is-windows": "0.2.0" + } }, "global-prefix": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1", + "ini": "1.3.4", + "is-windows": "0.2.0", + "which": "1.3.0" + } }, "globals": { "version": "9.18.0", @@ -2316,12 +3767,23 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } }, "glogg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=" + "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", + "requires": { + "sparkles": "1.0.0" + } }, "graceful-fs": { "version": "4.1.11", @@ -2332,6 +3794,26 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.0.0", + "fancy-log": "1.3.0", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + }, "dependencies": { "minimist": { "version": "1.2.0", @@ -2348,7 +3830,10 @@ "gulplog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=" + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "requires": { + "glogg": "1.0.0" + } }, "har-schema": { "version": "1.0.5", @@ -2358,18 +3843,28 @@ "har-validator": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=" + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } }, "has": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true + "dev": true, + "requires": { + "function-bind": "1.1.0" + } }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } }, "has-flag": { "version": "2.0.0", @@ -2379,7 +3874,10 @@ "has-gulplog": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=" + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "requires": { + "sparkles": "1.0.0" + } }, "has-unicode": { "version": "2.0.1", @@ -2389,27 +3887,49 @@ "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=" + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "requires": { + "inherits": "2.0.3" + } }, "hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==" + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } }, "hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=" + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } }, "hdkey": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-0.7.1.tgz", - "integrity": "sha1-yu5L6BqneSHpCbjSKN0PKayu5jI=" + "integrity": "sha1-yu5L6BqneSHpCbjSKN0PKayu5jI=", + "requires": { + "coinstring": "2.3.0", + "secp256k1": "3.3.0" + } }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } }, "hoek": { "version": "2.16.3", @@ -2424,13 +3944,20 @@ "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=" + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } }, "homedir-polyfill": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } }, "hosted-git-info": { "version": "2.5.0", @@ -2440,12 +3967,21 @@ "http-errors": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=" + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "requires": { + "inherits": "2.0.3", + "statuses": "1.3.1" + } }, "http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=" + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } }, "https-browserify": { "version": "0.0.1", @@ -2457,6 +3993,11 @@ "resolved": "https://registry.npmjs.org/husky/-/husky-0.12.0.tgz", "integrity": "sha1-OkSSL86AcYAyQsPHUiplgsUFJdw=", "dev": true, + "requires": { + "find-parent-dir": "0.3.0", + "is-ci": "1.0.10", + "normalize-path": "1.0.0" + }, "dependencies": { "normalize-path": { "version": "1.0.0", @@ -2505,7 +4046,11 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } }, "inherits": { "version": "2.0.3", @@ -2521,6 +4066,22 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.1.tgz", "integrity": "sha512-QgW3eiPN8gpj/K5vVpHADJJgrrF0ho/dZGylikGX7iqAdRgC9FVKYKWFLx6hZDBFcOLEoSqINYrVPeFAeG/PdA==", + "requires": { + "ansi-escapes": "2.0.0", + "chalk": "2.0.1", + "cli-cursor": "2.1.0", + "cli-width": "2.1.0", + "external-editor": "2.0.4", + "figures": "2.0.0", + "lodash": "4.17.4", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -2530,12 +4091,20 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.0" + } }, "chalk": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==" + "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.2.1" + } }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -2545,17 +4114,27 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } }, "supports-color": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==" + "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", + "requires": { + "has-flag": "2.0.0" + } } } }, @@ -2573,7 +4152,10 @@ "intl-messageformat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", - "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=" + "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=", + "requires": { + "intl-messageformat-parser": "1.2.0" + } }, "intl-messageformat-parser": { "version": "1.2.0", @@ -2583,12 +4165,18 @@ "intl-relativeformat": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", - "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=" + "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=", + "requires": { + "intl-messageformat": "1.3.0" + } }, "invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=" + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "1.3.1" + } }, "invert-kv": { "version": "1.0.0", @@ -2618,7 +4206,10 @@ "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=" + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "1.1.1" + } }, "is-callable": { "version": "1.1.3", @@ -2630,7 +4221,10 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true + "dev": true, + "requires": { + "ci-info": "1.0.0" + } }, "is-date-object": { "version": "1.0.1", @@ -2646,7 +4240,10 @@ "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=" + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "2.0.0" + } }, "is-extendable": { "version": "0.1.1", @@ -2661,17 +4258,26 @@ "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=" + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "1.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=" + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "1.0.0" + } }, "is-hex-prefixed": { "version": "1.0.0", @@ -2683,6 +4289,12 @@ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -2695,7 +4307,10 @@ "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=" + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "3.2.2" + } }, "is-object": { "version": "0.1.2", @@ -2712,13 +4327,19 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true + "dev": true, + "requires": { + "is-path-inside": "1.0.0" + } }, "is-path-inside": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } }, "is-posix-bracket": { "version": "0.1.1", @@ -2745,13 +4366,19 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true + "dev": true, + "requires": { + "has": "1.0.1" + } }, "is-resolvable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true + "dev": true, + "requires": { + "tryit": "1.0.3" + } }, "is-stream": { "version": "1.1.0", @@ -2798,12 +4425,19 @@ "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.1", + "whatwg-fetch": "2.0.3" + } }, "isstream": { "version": "0.1.2", @@ -2819,11 +4453,22 @@ "version": "20.0.4", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.4.tgz", "integrity": "sha1-ZT61XIic48Ah97lGk/IKQVm63wM=", + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "20.0.3", + "micromatch": "2.3.11", + "sane": "1.6.0", + "worker-farm": "1.4.1" + }, "dependencies": { "bser": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=" + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", + "requires": { + "node-int64": "0.4.0" + } }, "minimist": { "version": "1.2.0", @@ -2834,11 +4479,23 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", + "requires": { + "anymatch": "1.3.2", + "exec-sh": "0.2.0", + "fb-watchman": "1.9.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" + }, "dependencies": { "fb-watchman": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=" + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "requires": { + "bser": "1.0.2" + } } } } @@ -2858,7 +4515,11 @@ "version": "3.9.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", - "dev": true + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } }, "jsbn": { "version": "0.1.1", @@ -2884,7 +4545,10 @@ "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=" + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "0.0.0" + } }, "json-stringify-safe": { "version": "5.0.1", @@ -2899,7 +4563,10 @@ "jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "4.1.11" + } }, "jsonify": { "version": "0.0.0", @@ -2918,9 +4585,15 @@ "integrity": "sha1-PO3o4+QR03eHLu+8n98mODy8Ptk=" }, "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -2938,22 +4611,39 @@ "keccak": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.3.0.tgz", - "integrity": "sha512-JgsKPxYhcJxKrV+TrCyg/GwZbOjhpRPrz2kG8xbAsUaIDelUlKjm08YcwBO9Fm8sqf/Kg8ZWkk6nWujhLykfvw==" + "integrity": "sha512-JgsKPxYhcJxKrV+TrCyg/GwZbOjhpRPrz2kG8xbAsUaIDelUlKjm08YcwBO9Fm8sqf/Kg8ZWkk6nWujhLykfvw==", + "requires": { + "bindings": "1.3.0", + "inherits": "2.0.3", + "nan": "2.6.2", + "prebuild-install": "2.2.1", + "safe-buffer": "5.1.1" + } }, "keccakjs": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.1.tgz", - "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=" + "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=", + "requires": { + "browserify-sha3": "0.0.1", + "sha3": "1.2.0" + } }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.5" + } }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "4.1.11" + } }, "lazy-cache": { "version": "1.0.4", @@ -2963,7 +4653,10 @@ "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=" + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } }, "left-pad": { "version": "1.1.3", @@ -2973,7 +4666,12 @@ "level-blobs": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz", - "integrity": "sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=" + "integrity": "sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=", + "requires": { + "level-peek": "1.0.6", + "once": "1.4.0", + "readable-stream": "1.1.14" + } }, "level-codec": { "version": "7.0.0", @@ -2983,12 +4681,26 @@ "level-errors": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.4.tgz", - "integrity": "sha1-NYXmI5dMc3qTdVSSpDwCZ82kQl8=" + "integrity": "sha1-NYXmI5dMc3qTdVSSpDwCZ82kQl8=", + "requires": { + "errno": "0.1.4" + } }, "level-filesystem": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz", "integrity": "sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=", + "requires": { + "concat-stream": "1.6.0", + "errno": "0.1.4", + "fwd-stream": "1.0.4", + "level-blobs": "0.1.7", + "level-peek": "1.0.6", + "level-sublevel": "5.2.3", + "octal": "1.0.0", + "once": "1.4.0", + "xtend": "2.2.0" + }, "dependencies": { "xtend": { "version": "2.2.0", @@ -3005,12 +4717,21 @@ "level-hooks": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz", - "integrity": "sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=" + "integrity": "sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=", + "requires": { + "string-range": "1.2.2" + } }, "level-iterator-stream": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", + "requires": { + "inherits": "2.0.3", + "level-errors": "1.0.4", + "readable-stream": "1.1.14", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -3023,11 +4744,17 @@ "version": "0.18.0", "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-0.18.0.tgz", "integrity": "sha1-wHawh2RvHX3tzDRC9YgA3QoLRfU=", + "requires": { + "levelup": "0.18.6" + }, "dependencies": { "deferred-leveldown": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz", - "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=" + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=", + "requires": { + "abstract-leveldown": "0.12.3" + } }, "isarray": { "version": "0.0.1", @@ -3037,7 +4764,16 @@ "levelup": { "version": "0.18.6", "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz", - "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=" + "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=", + "requires": { + "bl": "0.8.2", + "deferred-leveldown": "0.2.0", + "errno": "0.1.4", + "prr": "0.0.0", + "readable-stream": "1.0.34", + "semver": "2.3.2", + "xtend": "3.0.0" + } }, "prr": { "version": "0.0.0", @@ -3047,7 +4783,13 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } }, "semver": { "version": "2.3.2", @@ -3059,22 +4801,38 @@ "level-peek": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz", - "integrity": "sha1-vsUccqgu5GTTNkNMfIdsP8vM538=" + "integrity": "sha1-vsUccqgu5GTTNkNMfIdsP8vM538=", + "requires": { + "level-fix-range": "1.0.2" + } }, "level-sublevel": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz", "integrity": "sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=", + "requires": { + "level-fix-range": "2.0.0", + "level-hooks": "4.5.0", + "string-range": "1.2.2", + "xtend": "2.0.6" + }, "dependencies": { "level-fix-range": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz", - "integrity": "sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=" + "integrity": "sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=", + "requires": { + "clone": "0.1.19" + } }, "xtend": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz", - "integrity": "sha1-XqZXptukRwacLlnFihE4ywxebO4=" + "integrity": "sha1-XqZXptukRwacLlnFihE4ywxebO4=", + "requires": { + "is-object": "0.1.2", + "object-keys": "0.2.0" + } } } }, @@ -3082,6 +4840,15 @@ "version": "1.3.9", "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "requires": { + "deferred-leveldown": "1.2.2", + "level-codec": "7.0.0", + "level-errors": "1.0.4", + "level-iterator-stream": "1.3.1", + "prr": "1.0.1", + "semver": "5.4.1", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -3094,28 +4861,51 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } }, "load-pkg": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/load-pkg/-/load-pkg-3.0.1.tgz", "integrity": "sha1-kjCzfsBOVpADBgvFiVHj7VCNWU8=", - "dev": true + "dev": true, + "requires": { + "find-pkg": "0.1.2" + } }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=" + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "3.1.3", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } }, "lodash": { "version": "4.17.4", @@ -3175,7 +4965,10 @@ "lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=" + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "requires": { + "lodash._root": "3.0.1" + } }, "lodash.isarguments": { "version": "3.1.0", @@ -3195,7 +4988,12 @@ "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=" + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } }, "lodash.pad": { "version": "4.5.1", @@ -3220,12 +5018,27 @@ "lodash.template": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=" + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } }, "lodash.templatesettings": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=" + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } }, "longest": { "version": "1.0.1", @@ -3235,12 +5048,19 @@ "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==" + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } }, "ltgt": { "version": "2.2.0", @@ -3250,12 +5070,18 @@ "make-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=" + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "requires": { + "pify": "2.3.0" + } }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.4" + } }, "media-typer": { "version": "0.3.0", @@ -3265,7 +5091,10 @@ "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=" + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "1.1.0" + } }, "merge": { "version": "1.2.0", @@ -3276,16 +5105,31 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "2.3.3" + }, "dependencies": { "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } } } }, @@ -3293,6 +5137,12 @@ "version": "2.3.9", "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.9.tgz", "integrity": "sha1-vRUfLONM8Bp2ykAKuVwBKxAtj3E=", + "requires": { + "debug": "2.6.8", + "methods": "1.1.2", + "parseurl": "1.3.1", + "vary": "1.1.1" + }, "dependencies": { "vary": { "version": "1.1.1", @@ -3310,6 +5160,42 @@ "version": "0.7.8", "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.7.8.tgz", "integrity": "sha512-6djvyY3giKujmgnC+n3HgPQ7/tREwtSv7T1puCsA9Ourz+A2VjgeYa4HBTs1IPWYQYWucjBWzA8F7EJc0voMyg==", + "requires": { + "absolute-path": "0.0.0", + "async": "2.5.0", + "babel-core": "6.25.0", + "babel-generator": "6.25.0", + "babel-plugin-external-helpers": "6.22.0", + "babel-preset-es2015-node": "6.1.1", + "babel-preset-fbjs": "2.1.4", + "babel-preset-react-native": "1.9.2", + "babel-register": "6.24.1", + "babylon": "6.17.4", + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "core-js": "2.4.1", + "debug": "2.6.8", + "denodeify": "1.2.1", + "fbjs": "0.8.12", + "graceful-fs": "4.1.11", + "image-size": "0.3.5", + "jest-haste-map": "20.0.4", + "json-stable-stringify": "1.0.1", + "json5": "0.4.0", + "left-pad": "1.1.3", + "lodash": "4.17.4", + "merge-stream": "1.0.1", + "mime-types": "2.1.11", + "mkdirp": "0.5.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "source-map": "0.5.6", + "temp": "0.8.3", + "throat": "3.2.0", + "uglify-js": "2.7.5", + "write-file-atomic": "1.3.4", + "xpipe": "1.0.5" + }, "dependencies": { "core-js": { "version": "2.4.1", @@ -3320,6 +5206,15 @@ "version": "0.8.12", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.14" + }, "dependencies": { "core-js": { "version": "1.2.7", @@ -3338,12 +5233,31 @@ "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=" + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.3" + } }, "miller-rabin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=" + "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "requires": { + "bn.js": "4.11.7", + "brorand": "1.1.0" + } }, "mime": { "version": "1.3.6", @@ -3359,6 +5273,9 @@ "version": "2.1.11", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "requires": { + "mime-db": "1.23.0" + }, "dependencies": { "mime-db": { "version": "1.23.0", @@ -3375,7 +5292,10 @@ "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=" + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "0.1.1" + } }, "minimalistic-assert": { "version": "1.0.0", @@ -3390,7 +5310,10 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } }, "minimist": { "version": "0.0.8", @@ -3400,17 +5323,30 @@ "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } }, "morgan": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=", + "requires": { + "basic-auth": "1.0.4", + "debug": "2.2.0", + "depd": "1.0.1", + "on-finished": "2.3.0", + "on-headers": "1.0.1" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -3427,12 +5363,19 @@ "multiparty": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", - "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=" + "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=", + "requires": { + "readable-stream": "1.1.14", + "stream-counter": "0.2.0" + } }, "multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=" + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "requires": { + "duplexer2": "0.0.2" + } }, "mute-stream": { "version": "0.0.7", @@ -3448,6 +5391,22 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/native-base/-/native-base-2.3.1.tgz", "integrity": "sha1-QV11ygspM2Eqwvx7ibB/YoJsRIE=", + "requires": { + "blueimp-md5": "2.8.0", + "clamp": "1.0.1", + "color": "1.0.3", + "fs-extra": "2.1.2", + "lodash": "4.11.2", + "native-base-shoutem-theme": "0.2.1", + "print-message": "2.1.0", + "prop-types": "15.5.10", + "react-native-drawer": "git+https://github.com/GeekyAnts/react-native-drawer.git#8d9078516d177c9cb02d2579a6860706d2370d25", + "react-native-easy-grid": "0.1.15", + "react-native-keyboard-aware-scroll-view": "git+https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view.git#f4805f254d6cc8e3329f5fb224944401f66655db", + "react-native-vector-icons": "4.1.1", + "react-tween-state": "0.1.5", + "tween-functions": "1.2.0" + }, "dependencies": { "lodash": { "version": "4.11.2", @@ -3455,19 +5414,33 @@ "integrity": "sha1-1rQzixEKWOIdrlzrz9u/0rxM2zs=" }, "react-native-drawer": { - "version": "git+https://github.com/GeekyAnts/react-native-drawer.git#8d9078516d177c9cb02d2579a6860706d2370d25" + "version": "git+https://github.com/GeekyAnts/react-native-drawer.git#8d9078516d177c9cb02d2579a6860706d2370d25", + "requires": { + "prop-types": "15.5.10", + "tween-functions": "1.2.0" + } }, "react-native-vector-icons": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.1.1.tgz", - "integrity": "sha1-msdb3nfZJDNGZoxR3Kd1Z3VCgIc=" + "integrity": "sha1-msdb3nfZJDNGZoxR3Kd1Z3VCgIc=", + "requires": { + "lodash": "4.11.2", + "prop-types": "15.5.10", + "yargs": "6.6.0" + } } } }, "native-base-shoutem-theme": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/native-base-shoutem-theme/-/native-base-shoutem-theme-0.2.1.tgz", - "integrity": "sha1-hJR4ODPcxbrOlF22jce/ziCfzEA=" + "integrity": "sha1-hJR4ODPcxbrOlF22jce/ziCfzEA=", + "requires": { + "hoist-non-react-statics": "1.2.0", + "lodash": "4.17.4", + "prop-types": "15.5.10" + } }, "natural-compare": { "version": "1.4.0", @@ -3478,8 +5451,7 @@ "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", - "dev": true + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=" }, "negotiator": { "version": "0.5.3", @@ -3494,7 +5466,11 @@ "node-fetch": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz", - "integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==" + "integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } }, "node-int64": { "version": "0.4.0", @@ -3509,22 +5485,40 @@ "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==" + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.0.2" + } }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "2.0.1" + } }, "npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } }, "number-is-nan": { "version": "1.0.1", @@ -3536,11 +5530,45 @@ "resolved": "https://registry.npmjs.org/nyc/-/nyc-10.3.2.tgz", "integrity": "sha1-8n9NkfKp2zbCT1dP9cbv/wIz3kY=", "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.0", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "1.1.2", + "foreground-child": "1.5.6", + "glob": "7.1.1", + "istanbul-lib-coverage": "1.1.0", + "istanbul-lib-hook": "1.0.6", + "istanbul-lib-instrument": "1.7.1", + "istanbul-lib-report": "1.1.0", + "istanbul-lib-source-maps": "1.2.0", + "istanbul-reports": "1.1.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.3", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.1", + "signal-exit": "3.0.2", + "spawn-wrap": "1.2.4", + "test-exclude": "4.1.0", + "yargs": "7.1.0", + "yargs-parser": "5.0.0" + }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, - "dev": true + "dev": true, + "requires": { + "kind-of": "3.2.0", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } }, "amdefine": { "version": "1.0.1", @@ -3560,7 +5588,10 @@ "append-transform": { "version": "0.4.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } }, "archy": { "version": "1.0.0", @@ -3570,7 +5601,10 @@ "arr-diff": { "version": "2.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "arr-flatten": "1.0.3" + } }, "arr-flatten": { "version": "1.0.3", @@ -3595,37 +5629,83 @@ "babel-code-frame": { "version": "6.22.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.1" + } }, "babel-generator": { "version": "6.24.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.23.0", + "babel-types": "6.24.1", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.6", + "trim-right": "1.0.1" + } }, "babel-messages": { "version": "6.23.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.23.0" + } }, "babel-runtime": { "version": "6.23.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "core-js": "2.4.1", + "regenerator-runtime": "0.10.5" + } }, "babel-template": { "version": "6.24.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.23.0", + "babel-traverse": "6.24.1", + "babel-types": "6.24.1", + "babylon": "6.17.0", + "lodash": "4.17.4" + } }, "babel-traverse": { "version": "6.24.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-code-frame": "6.22.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.23.0", + "babel-types": "6.24.1", + "babylon": "6.17.0", + "debug": "2.6.6", + "globals": "9.17.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } }, "babel-types": { "version": "6.24.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.23.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } }, "babylon": { "version": "6.17.0", @@ -3640,12 +5720,21 @@ "brace-expansion": { "version": "1.1.7", "bundled": true, - "dev": true + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } }, "braces": { "version": "1.8.5", "bundled": true, - "dev": true + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } }, "builtin-modules": { "version": "1.1.1", @@ -3655,7 +5744,12 @@ "caching-transform": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } }, "camelcase": { "version": "1.2.1", @@ -3667,18 +5761,34 @@ "version": "0.1.3", "bundled": true, "dev": true, - "optional": true + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } }, "chalk": { "version": "1.1.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "cliui": { "version": "2.1.0", "bundled": true, "dev": true, "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, "dependencies": { "wordwrap": { "version": "0.0.2", @@ -3716,12 +5826,19 @@ "cross-spawn": { "version": "4.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "lru-cache": "4.0.2", + "which": "1.2.14" + } }, "debug": { "version": "2.6.6", "bundled": true, - "dev": true + "dev": true, + "requires": { + "ms": "0.7.3" + } }, "debug-log": { "version": "1.0.1", @@ -3736,17 +5853,26 @@ "default-require-extensions": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } }, "detect-indent": { "version": "4.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "repeating": "2.0.1" + } }, "error-ex": { "version": "1.3.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } }, "escape-string-regexp": { "version": "1.0.5", @@ -3761,17 +5887,26 @@ "expand-brackets": { "version": "0.1.5", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } }, "expand-range": { "version": "1.8.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "fill-range": "2.2.3" + } }, "extglob": { "version": "0.3.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } }, "filename-regex": { "version": "2.0.1", @@ -3781,17 +5916,33 @@ "fill-range": { "version": "2.2.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.6", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } }, "find-cache-dir": { "version": "0.1.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } }, "find-up": { "version": "1.1.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } }, "for-in": { "version": "1.0.2", @@ -3801,12 +5952,19 @@ "for-own": { "version": "0.1.5", "bundled": true, - "dev": true + "dev": true, + "requires": { + "for-in": "1.0.2" + } }, "foreground-child": { "version": "1.5.6", "bundled": true, - "dev": true + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } }, "fs.realpath": { "version": "1.0.0", @@ -3821,17 +5979,32 @@ "glob": { "version": "7.1.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.3", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "glob-base": { "version": "0.3.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } }, "glob-parent": { "version": "2.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-glob": "2.0.1" + } }, "globals": { "version": "9.17.0", @@ -3847,18 +6020,30 @@ "version": "4.0.8", "bundled": true, "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.22" + }, "dependencies": { "source-map": { "version": "0.4.4", "bundled": true, - "dev": true + "dev": true, + "requires": { + "amdefine": "1.0.1" + } } } }, "has-ansi": { "version": "2.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } }, "has-flag": { "version": "1.0.0", @@ -3878,7 +6063,11 @@ "inflight": { "version": "1.0.6", "bundled": true, - "dev": true + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } }, "inherits": { "version": "2.0.3", @@ -3888,7 +6077,10 @@ "invariant": { "version": "2.2.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } }, "invert-kv": { "version": "1.0.0", @@ -3908,7 +6100,10 @@ "is-builtin-module": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } }, "is-dotfile": { "version": "1.0.2", @@ -3918,7 +6113,10 @@ "is-equal-shallow": { "version": "0.1.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } }, "is-extendable": { "version": "0.1.1", @@ -3933,22 +6131,34 @@ "is-finite": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } }, "is-glob": { "version": "2.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } }, "is-number": { "version": "2.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "kind-of": "3.2.0" + } }, "is-posix-bracket": { "version": "0.1.1", @@ -3978,7 +6188,10 @@ "isobject": { "version": "2.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "isarray": "1.0.0" + } }, "istanbul-lib-coverage": { "version": "1.1.0", @@ -3988,34 +6201,65 @@ "istanbul-lib-hook": { "version": "1.0.6", "bundled": true, - "dev": true + "dev": true, + "requires": { + "append-transform": "0.4.0" + } }, "istanbul-lib-instrument": { "version": "1.7.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "babel-generator": "6.24.1", + "babel-template": "6.24.1", + "babel-traverse": "6.24.1", + "babel-types": "6.24.1", + "babylon": "6.17.0", + "istanbul-lib-coverage": "1.1.0", + "semver": "5.3.0" + } }, "istanbul-lib-report": { "version": "1.1.0", "bundled": true, "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, "dependencies": { "supports-color": { "version": "3.2.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, "istanbul-lib-source-maps": { "version": "1.2.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "debug": "2.6.6", + "istanbul-lib-coverage": "1.1.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "source-map": "0.5.6" + } }, "istanbul-reports": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "handlebars": "4.0.8" + } }, "js-tokens": { "version": "3.0.1", @@ -4030,7 +6274,10 @@ "kind-of": { "version": "3.2.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } }, "lazy-cache": { "version": "1.0.4", @@ -4041,12 +6288,22 @@ "lcid": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } }, "load-json-file": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } }, "lodash": { "version": "4.17.4", @@ -4061,17 +6318,27 @@ "loose-envify": { "version": "1.3.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "js-tokens": "3.0.1" + } }, "lru-cache": { "version": "4.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } }, "md5-hex": { "version": "1.3.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } }, "md5-o-matic": { "version": "0.1.1", @@ -4081,17 +6348,38 @@ "merge-source-map": { "version": "1.0.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "source-map": "0.5.6" + } }, "micromatch": { "version": "2.3.11", "bundled": true, - "dev": true + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.0", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.3" + } }, "minimatch": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } }, "minimist": { "version": "0.0.8", @@ -4101,7 +6389,10 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "minimist": "0.0.8" + } }, "ms": { "version": "0.7.3", @@ -4111,12 +6402,21 @@ "normalize-package-data": { "version": "2.3.8", "bundled": true, - "dev": true + "dev": true, + "requires": { + "hosted-git-info": "2.4.2", + "is-builtin-module": "1.0.0", + "semver": "5.3.0", + "validate-npm-package-license": "3.0.1" + } }, "normalize-path": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "remove-trailing-separator": "1.0.1" + } }, "number-is-nan": { "version": "1.0.1", @@ -4131,17 +6431,28 @@ "object.omit": { "version": "2.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } }, "once": { "version": "1.4.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "wrappy": "1.0.2" + } }, "optimist": { "version": "0.6.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } }, "os-homedir": { "version": "1.0.2", @@ -4151,22 +6462,37 @@ "os-locale": { "version": "1.4.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "lcid": "1.0.0" + } }, "parse-glob": { "version": "3.0.4", "bundled": true, - "dev": true + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.2", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } }, "parse-json": { "version": "2.2.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "error-ex": "1.3.1" + } }, "path-exists": { "version": "2.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } }, "path-is-absolute": { "version": "1.0.1", @@ -4181,7 +6507,12 @@ "path-type": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } }, "pify": { "version": "2.3.0", @@ -4196,12 +6527,18 @@ "pinkie-promise": { "version": "2.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "pinkie": "2.0.4" + } }, "pkg-dir": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2" + } }, "preserve": { "version": "0.2.0", @@ -4216,17 +6553,30 @@ "randomatic": { "version": "1.1.6", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-number": "2.1.0", + "kind-of": "3.2.0" + } }, "read-pkg": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.3.8", + "path-type": "1.1.0" + } }, "read-pkg-up": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } }, "regenerator-runtime": { "version": "0.10.5", @@ -4236,7 +6586,11 @@ "regex-cache": { "version": "0.4.3", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3", + "is-primitive": "2.0.0" + } }, "remove-trailing-separator": { "version": "1.0.1", @@ -4256,7 +6610,10 @@ "repeating": { "version": "2.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-finite": "1.0.2" + } }, "require-directory": { "version": "2.1.1", @@ -4277,12 +6634,18 @@ "version": "0.1.3", "bundled": true, "dev": true, - "optional": true + "optional": true, + "requires": { + "align-text": "0.1.4" + } }, "rimraf": { "version": "2.6.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "glob": "7.1.1" + } }, "semver": { "version": "5.3.0", @@ -4313,6 +6676,14 @@ "version": "1.2.4", "bundled": true, "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.1", + "signal-exit": "2.1.2", + "which": "1.2.14" + }, "dependencies": { "signal-exit": { "version": "2.1.2", @@ -4324,7 +6695,10 @@ "spdx-correct": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } }, "spdx-expression-parse": { "version": "1.0.4", @@ -4339,17 +6713,28 @@ "string-width": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } }, "strip-bom": { "version": "2.0.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } }, "supports-color": { "version": "2.0.0", @@ -4359,7 +6744,14 @@ "test-exclude": { "version": "4.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } }, "to-fast-properties": { "version": "1.0.3", @@ -4376,12 +6768,23 @@ "bundled": true, "dev": true, "optional": true, + "requires": { + "source-map": "0.5.6", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, "dependencies": { "yargs": { "version": "3.10.0", "bundled": true, "dev": true, - "optional": true + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } } } }, @@ -4394,12 +6797,19 @@ "validate-npm-package-license": { "version": "3.0.1", "bundled": true, - "dev": true + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } }, "which": { "version": "1.2.14", "bundled": true, - "dev": true + "dev": true, + "requires": { + "isexe": "2.0.0" + } }, "which-module": { "version": "1.0.0", @@ -4420,7 +6830,11 @@ "wrap-ansi": { "version": "2.1.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } }, "wrappy": { "version": "1.0.2", @@ -4430,7 +6844,12 @@ "write-file-atomic": { "version": "1.3.4", "bundled": true, - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } }, "y18n": { "version": "3.2.1", @@ -4446,6 +6865,21 @@ "version": "7.1.0", "bundled": true, "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, "dependencies": { "camelcase": { "version": "3.0.0", @@ -4455,7 +6889,12 @@ "cliui": { "version": "3.2.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } } } }, @@ -4463,6 +6902,9 @@ "version": "5.0.0", "bundled": true, "dev": true, + "requires": { + "camelcase": "3.0.0" + }, "dependencies": { "camelcase": { "version": "3.0.0", @@ -4486,107 +6928,81 @@ "object-keys": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz", - "integrity": "sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=" + "integrity": "sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=", + "requires": { + "foreach": "2.0.5", + "indexof": "0.0.1", + "is": "0.2.7" + } }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=" + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } }, "object.pick": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz", - "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=", - "dev": true - }, - "octal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz", - "integrity": "sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" - }, - "opencollective": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", - "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "inquirer": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", - "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "node-fetch": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", - "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=" - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" - } - } - } + "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=", + "dev": true, + "requires": { + "isobject": "2.1.0" + } + }, + "octal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz", + "integrity": "sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "1.1.0" } }, "opn": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", - "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=" + "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", + "requires": { + "object-assign": "4.1.1" + } }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + }, "dependencies": { "wordwrap": { "version": "0.0.3", @@ -4599,7 +7015,15 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } }, "options": { "version": "0.0.6", @@ -4619,7 +7043,10 @@ "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=" + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } }, "os-tmpdir": { "version": "1.0.2", @@ -4639,7 +7066,10 @@ "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "1.1.0" + } }, "pako": { "version": "0.2.9", @@ -4649,17 +7079,33 @@ "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=" + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "requires": { + "asn1.js": "4.9.1", + "browserify-aes": "1.0.6", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.0", + "pbkdf2": "3.0.8" + } }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=" + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "1.3.1" + } }, "parse-passwd": { "version": "1.0.0", @@ -4707,7 +7153,12 @@ "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } }, "pause": { "version": "0.1.0", @@ -4717,7 +7168,10 @@ "pbkdf2": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.8.tgz", - "integrity": "sha1-L4q/FuvsyCJ3lF10irodeHYfYeI=" + "integrity": "sha1-L4q/FuvsyCJ3lF10irodeHYfYeI=", + "requires": { + "create-hmac": "1.1.6" + } }, "pegjs": { "version": "0.10.0", @@ -4742,13 +7196,21 @@ "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } }, "pkg-config": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", "dev": true, + "requires": { + "debug-log": "1.0.1", + "find-root": "1.1.0", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -4761,12 +7223,21 @@ "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=" + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "2.1.0" + } }, "plist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=", + "requires": { + "base64-js": "0.0.8", + "util-deprecate": "1.0.2", + "xmlbuilder": "4.0.0", + "xmldom": "0.1.27" + }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -4785,6 +7256,22 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.2.1.tgz", "integrity": "sha512-y/sgNJ49vjXQ3qYdSI/jTRZq6D7g5Q2euK6x0/L8dvwK1EGvNLidtg2t4PZzTgkR6LahkzpYVshOmHKYtp0AlQ==", + "requires": { + "expand-template": "1.0.3", + "github-from-package": "0.0.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-abi": "2.1.0", + "noop-logger": "0.1.1", + "npmlog": "4.1.2", + "os-homedir": "1.0.2", + "pump": "1.0.2", + "rc": "1.2.1", + "simple-get": "1.4.3", + "tar-fs": "1.15.3", + "tunnel-agent": "0.6.0", + "xtend": "4.0.1" + }, "dependencies": { "minimist": { "version": "1.2.0", @@ -4818,11 +7305,21 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/print-message/-/print-message-2.1.0.tgz", "integrity": "sha1-tViO0IsOG/d6x7y1y3gASvr5qJE=", + "requires": { + "chalk": "1.1.1" + }, "dependencies": { "chalk": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", - "integrity": "sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=" + "integrity": "sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } } } }, @@ -4850,12 +7347,19 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } }, "prop-types": { "version": "15.5.10", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=" + "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", + "requires": { + "fbjs": "0.8.14", + "loose-envify": "1.3.1" + } }, "prr": { "version": "1.0.1", @@ -4870,12 +7374,23 @@ "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=" + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "requires": { + "bn.js": "4.11.7", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.5" + } }, "pump": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=" + "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", + "requires": { + "end-of-stream": "1.4.0", + "once": "1.4.0" + } }, "punycode": { "version": "1.3.2", @@ -4905,7 +7420,10 @@ "raf": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/raf/-/raf-3.3.2.tgz", - "integrity": "sha1-DBO+C1tJtG921maSSNUnzysC/ic=" + "integrity": "sha1-DBO+C1tJtG921maSSNUnzysC/ic=", + "requires": { + "performance-now": "2.1.0" + } }, "ramda": { "version": "0.21.0", @@ -4921,30 +7439,46 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.5" + } } } }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.5" + } } } }, "randombytes": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==" + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "requires": { + "safe-buffer": "5.1.1" + } }, "range-parser": { "version": "1.0.3", @@ -4955,6 +7489,11 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, "dependencies": { "bytes": { "version": "2.4.0", @@ -4972,6 +7511,12 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, "dependencies": { "minimist": { "version": "1.2.0", @@ -4983,12 +7528,23 @@ "react": { "version": "16.0.0-alpha.12", "resolved": "https://registry.npmjs.org/react/-/react-16.0.0-alpha.12.tgz", - "integrity": "sha1-jFlIUoFIXfMZtvd2gtjdBiHAgZQ=" + "integrity": "sha1-jFlIUoFIXfMZtvd2gtjdBiHAgZQ=", + "requires": { + "create-react-class": "15.6.0", + "fbjs": "0.8.14", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.5.10" + } }, "react-addons-shallow-compare": { "version": "15.6.0", "resolved": "https://registry.npmjs.org/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.0.tgz", - "integrity": "sha1-t6Tl/58nBMIM9obdigXdCLJt4lI=" + "integrity": "sha1-t6Tl/58nBMIM9obdigXdCLJt4lI=", + "requires": { + "fbjs": "0.8.14", + "object-assign": "4.1.1" + } }, "react-clone-referenced-element": { "version": "1.0.1", @@ -5004,6 +7560,10 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-2.3.1.tgz", "integrity": "sha1-3IOrqFc17/5eHcOGoWFMtejQBH0=", + "requires": { + "shell-quote": "1.6.1", + "ws": "2.3.1" + }, "dependencies": { "safe-buffer": { "version": "5.0.1", @@ -5013,7 +7573,11 @@ "ws": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=" + "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "requires": { + "safe-buffer": "5.0.1", + "ultron": "1.1.0" + } } } }, @@ -5021,17 +7585,115 @@ "version": "15.5.4", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.5.4.tgz", "integrity": "sha1-ugwoeG/VLtfk8hNf4CiNRirvk9o=", - "dev": true + "dev": true, + "requires": { + "fbjs": "0.8.14", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.5.10" + } }, "react-intl": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.3.0.tgz", - "integrity": "sha1-4d9q9WZ/3wHL5KqyDhNyUeKuUUI=" + "integrity": "sha1-4d9q9WZ/3wHL5KqyDhNyUeKuUUI=", + "requires": { + "intl-format-cache": "2.0.5", + "intl-messageformat": "1.3.0", + "intl-relativeformat": "1.3.0", + "invariant": "2.2.2" + } }, "react-native": { "version": "0.46.4", "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.46.4.tgz", "integrity": "sha1-KBu8wWXlw2tMjqqGjmdoVD6BG8s=", + "requires": { + "absolute-path": "0.0.0", + "art": "0.10.1", + "async": "2.5.0", + "babel-core": "6.25.0", + "babel-generator": "6.25.0", + "babel-plugin-external-helpers": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.16.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.23.0", + "babel-polyfill": "6.23.0", + "babel-preset-es2015-node": "6.1.1", + "babel-preset-fbjs": "2.1.4", + "babel-preset-react-native": "1.9.2", + "babel-register": "6.24.1", + "babel-runtime": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.17.4", + "base64-js": "1.2.1", + "bser": "1.0.3", + "chalk": "1.1.3", + "commander": "2.11.0", + "concat-stream": "1.6.0", + "connect": "2.30.2", + "core-js": "2.4.1", + "create-react-class": "15.6.0", + "debug": "2.6.8", + "denodeify": "1.2.1", + "errno": "0.1.4", + "event-target-shim": "1.1.1", + "fbjs": "0.8.12", + "fbjs-scripts": "0.7.1", + "form-data": "2.2.0", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "image-size": "0.3.5", + "inquirer": "3.2.1", + "jest-haste-map": "20.0.4", + "json-stable-stringify": "1.0.1", + "json5": "0.4.0", + "left-pad": "1.1.3", + "lodash": "4.17.4", + "merge-stream": "1.0.1", + "metro-bundler": "0.7.8", + "mime": "1.3.6", + "mime-types": "2.1.11", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-fetch": "1.7.1", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "1.2.0", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.5.10", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "2.3.1", + "react-timer-mixin": "0.13.3", + "react-transform-hmr": "1.0.4", + "rebound": "0.0.13", + "regenerator-runtime": "0.9.6", + "request": "2.81.0", + "rimraf": "2.6.1", + "sane": "1.4.1", + "semver": "5.4.1", + "shell-quote": "1.6.1", + "source-map": "0.5.6", + "stacktrace-parser": "0.1.4", + "temp": "0.8.3", + "throat": "3.2.0", + "uglify-js": "2.7.5", + "whatwg-fetch": "1.1.1", + "wordwrap": "1.0.0", + "write-file-atomic": "1.3.4", + "ws": "1.1.4", + "xcode": "0.9.3", + "xmldoc": "0.4.0", + "xpipe": "1.0.5", + "xtend": "4.0.1", + "yargs": "6.6.0" + }, "dependencies": { "core-js": { "version": "2.4.1", @@ -5042,6 +7704,15 @@ "version": "0.8.12", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.14" + }, "dependencies": { "core-js": { "version": "1.2.7", @@ -5053,12 +7724,24 @@ "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=" + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } }, "gauge": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=" + "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", + "requires": { + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" + } }, "json5": { "version": "0.4.0", @@ -5073,7 +7756,12 @@ "npmlog": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=" + "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", + "requires": { + "ansi": "0.3.1", + "are-we-there-yet": "1.1.4", + "gauge": "1.2.7" + } }, "regenerator-runtime": { "version": "0.9.6", @@ -5095,15 +7783,24 @@ "react-native-animatable": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.2.3.tgz", - "integrity": "sha512-GcIKsSPy9A5VfAGCmivElYwBz/Ds7kawG3CkBDCMFf0fkDXKeHcVffqFe7rUR+5rR31Azvkbmp+tUP+N7kdjyw==" + "integrity": "sha512-GcIKsSPy9A5VfAGCmivElYwBz/Ds7kawG3CkBDCMFf0fkDXKeHcVffqFe7rUR+5rR31Azvkbmp+tUP+N7kdjyw==", + "requires": { + "prop-types": "15.5.10" + } }, "react-native-blur": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/react-native-blur/-/react-native-blur-3.1.2.tgz", - "integrity": "sha512-5JIlGAcqf5DV+UZPOwFftPyNdkM5cfgux/nxCUc0q8ZFm83mH/Bt1PcD7bmzcDEa6Zpz+2mVF/8V+HS12DF5wA==" + "integrity": "sha512-5JIlGAcqf5DV+UZPOwFftPyNdkM5cfgux/nxCUc0q8ZFm83mH/Bt1PcD7bmzcDEa6Zpz+2mVF/8V+HS12DF5wA==", + "requires": { + "prop-types": "15.5.10" + } }, "react-native-camera": { - "version": "git+https://github.com/lwansbrough/react-native-camera.git#97d5d7988ab083e8b43011237a6deaa6b4a10ae5" + "version": "git+https://github.com/lwansbrough/react-native-camera.git#bd9a0f37fc09f572182a3f438486a5644523e538", + "requires": { + "prop-types": "15.5.10" + } }, "react-native-contacts": { "version": "0.8.2", @@ -5118,7 +7815,18 @@ "react-native-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/react-native-crypto/-/react-native-crypto-2.0.2.tgz", - "integrity": "sha1-yV3yHQMavy9n7vaLFqNyg0fAMW0=" + "integrity": "sha1-yV3yHQMavy9n7vaLFqNyg0fAMW0=", + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.8", + "public-encrypt": "4.0.0" + } }, "react-native-device-info": { "version": "0.10.2", @@ -5128,7 +7836,10 @@ "react-native-drawer": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/react-native-drawer/-/react-native-drawer-2.3.0.tgz", - "integrity": "sha1-oDaeyA/wthyfFS296pH+dshDETo=" + "integrity": "sha1-oDaeyA/wthyfFS296pH+dshDETo=", + "requires": { + "tween-functions": "1.2.0" + } }, "react-native-dropdown": { "version": "git+https://github.com/g6ling/react-native-dropdown.git#12cd976c8131706134f1a042bb88c4bdb82965ac" @@ -5136,20 +7847,38 @@ "react-native-easy-grid": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/react-native-easy-grid/-/react-native-easy-grid-0.1.15.tgz", - "integrity": "sha1-ApOa4DLXRmK1DJVA2QLHmGa6Y4o=" + "integrity": "sha1-ApOa4DLXRmK1DJVA2QLHmGa6Y4o=", + "requires": { + "lodash": "4.17.4" + } }, "react-native-elements": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-0.10.3.tgz", - "integrity": "sha1-3e9ipFbLcaIaL99Kqe4mivfhzdA=" + "integrity": "sha1-3e9ipFbLcaIaL99Kqe4mivfhzdA=", + "requires": { + "react-native-side-menu": "0.20.3", + "react-native-tab-navigator": "0.3.3" + } }, "react-native-experimental-navigation": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/react-native-experimental-navigation/-/react-native-experimental-navigation-0.28.0.tgz", - "integrity": "sha1-VhKYGQMgzTNtxbAMLovCQ1z7SQk=" + "integrity": "sha1-VhKYGQMgzTNtxbAMLovCQ1z7SQk=", + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-react-native": "1.9.2", + "clamp": "1.0.1", + "fbjs": "0.8.14", + "prop-types": "15.5.10" + } }, "react-native-fast-crypto": { "version": "git+ssh://git@github.com/Airbitz/react-native-fast-crypto.git#f24af576fb7af7769e8b34039fce923c41718c3a", + "requires": { + "rfc4648": "1.0.0" + }, "dependencies": { "rfc4648": { "version": "1.0.0", @@ -5162,9 +7891,13 @@ "version": "git+https://github.com/Airbitz/react-native-flip-view.git#9796c6469385559da6689a4f56f540fc6f3d003a" }, "react-native-fs": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.3.3.tgz", - "integrity": "sha1-lMDZaZ7CBAXzC3mmm22LltKkhRs=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.5.1.tgz", + "integrity": "sha512-nEDdhleTpMy+oly8mAeKdYRgEpN+M8OetdtflZFp1W2nCBDFxp2jgvQGTEEBKkfsEVm806qfbJB8dpB2yyVB5A==", + "requires": { + "base-64": "0.1.0", + "utf8": "2.1.2" + } }, "react-native-hockeyapp": { "version": "0.5.1", @@ -5172,7 +7905,11 @@ "integrity": "sha1-QJ/d1/AlL+65ylVGqRaqUaBsX8o=" }, "react-native-http": { - "version": "github:tradle/react-native-http#834492dbc792b1dec8ec8f0a1c9671f640339f01" + "version": "github:tradle/react-native-http#834492dbc792b1dec8ec8f0a1c9671f640339f01", + "requires": { + "Base64": "0.2.1", + "inherits": "2.0.3" + } }, "react-native-image-picker": { "version": "0.24.1", @@ -5180,22 +7917,37 @@ "integrity": "sha1-CnP8ZuyeDSi/OnXfmWrSn2ldAWw=" }, "react-native-keyboard-aware-scroll-view": { - "version": "git+https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view.git#f4805f254d6cc8e3329f5fb224944401f66655db" + "version": "git+https://github.com/GeekyAnts/react-native-keyboard-aware-scroll-view.git#f4805f254d6cc8e3329f5fb224944401f66655db", + "requires": { + "create-react-class": "15.6.0", + "prop-types": "15.5.10", + "react-timer-mixin": "0.13.3" + } }, "react-native-level": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-native-level/-/react-native-level-3.0.0.tgz", - "integrity": "sha1-2RdQAXCtCV8lXWYu6N7Rv6lf0mE=" + "integrity": "sha1-2RdQAXCtCV8lXWYu6N7Rv6lf0mE=", + "requires": { + "level-packager": "0.18.0" + } }, "react-native-level-fs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-native-level-fs/-/react-native-level-fs-3.0.0.tgz", "integrity": "sha1-uefSeEhbaWY0pifMYEV3yyr5698=", + "requires": { + "level-filesystem": "1.2.0", + "levelup": "0.18.6" + }, "dependencies": { "deferred-leveldown": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz", - "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=" + "integrity": "sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=", + "requires": { + "abstract-leveldown": "0.12.3" + } }, "isarray": { "version": "0.0.1", @@ -5205,7 +7957,16 @@ "levelup": { "version": "0.18.6", "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz", - "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=" + "integrity": "sha1-5qAcsIlhbI7MApHCqb0/DETj5es=", + "requires": { + "bl": "0.8.2", + "deferred-leveldown": "0.2.0", + "errno": "0.1.4", + "prr": "0.0.0", + "readable-stream": "1.0.34", + "semver": "2.3.2", + "xtend": "3.0.0" + } }, "prr": { "version": "0.0.0", @@ -5215,7 +7976,13 @@ "readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } }, "semver": { "version": "2.3.2", @@ -5227,7 +7994,10 @@ "react-native-linear-gradient": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.1.0.tgz", - "integrity": "sha1-LL9KBh/vXHTRJW2kJcr5/ok8lOI=" + "integrity": "sha1-LL9KBh/vXHTRJW2kJcr5/ok8lOI=", + "requires": { + "prop-types": "15.5.10" + } }, "react-native-locale": { "version": "0.0.17", @@ -5237,20 +8007,33 @@ "react-native-material-kit": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/react-native-material-kit/-/react-native-material-kit-0.4.1.tgz", - "integrity": "sha1-vfxHJ+QUaYDhKe5bvrdWXbapGMw=" + "integrity": "sha1-vfxHJ+QUaYDhKe5bvrdWXbapGMw=", + "requires": { + "ramda": "0.21.0" + } }, "react-native-menu": { - "version": "git+ssh://git@github.com/Airbitz/react-native-menu.git#e0c4cbda14567a6413b44457368e40632ebca0a7" + "version": "git+ssh://git@github.com/Airbitz/react-native-menu.git#e0c4cbda14567a6413b44457368e40632ebca0a7", + "requires": { + "react-timer-mixin": "0.13.3" + } }, "react-native-modal": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-2.5.0.tgz", - "integrity": "sha512-ZP0EiBDcT6QzEYpzo9JuDYVS+BndMRGliyv0t1fuhISIxVBw0zRrtQtKOHvXjWCkwbS96bjGF2RfNikFdO+GYA==" + "integrity": "sha512-ZP0EiBDcT6QzEYpzo9JuDYVS+BndMRGliyv0t1fuhISIxVBw0zRrtQtKOHvXjWCkwbS96bjGF2RfNikFdO+GYA==", + "requires": { + "prop-types": "15.5.10", + "react-native-animatable": "1.2.3" + } }, "react-native-modalbox": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/react-native-modalbox/-/react-native-modalbox-1.4.1.tgz", - "integrity": "sha1-sAzyKm9CMPDhx4E+jB30RSbplvE=" + "integrity": "sha1-sAzyKm9CMPDhx4E+jB30RSbplvE=", + "requires": { + "create-react-class": "15.6.0" + } }, "react-native-permissions": { "version": "0.2.7", @@ -5260,24 +8043,44 @@ "react-native-qrcode": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/react-native-qrcode/-/react-native-qrcode-0.2.4.tgz", - "integrity": "sha1-4CHKllUvfRNI60ouHgL4VGtXmHk=" + "integrity": "sha1-4CHKllUvfRNI60ouHgL4VGtXmHk=", + "requires": { + "create-react-class": "15.6.0", + "prop-types": "15.5.10", + "qr.js": "0.0.0" + } }, "react-native-randombytes": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/react-native-randombytes/-/react-native-randombytes-2.2.0.tgz", "integrity": "sha1-kwmc1/k7GyKLvTgGF+i78Nc8TPs=", + "requires": { + "buffer": "4.9.1", + "sjcl": "1.0.7" + }, "dependencies": { "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=" + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } } } }, "react-native-router-flux": { "version": "3.41.0", "resolved": "https://registry.npmjs.org/react-native-router-flux/-/react-native-router-flux-3.41.0.tgz", - "integrity": "sha1-SBNnAx7UE5Mem2BgXduIVyZ8HIU=" + "integrity": "sha1-SBNnAx7UE5Mem2BgXduIVyZ8HIU=", + "requires": { + "lodash.isequal": "4.5.0", + "react-native-experimental-navigation": "0.28.0", + "react-native-tabs": "1.0.9", + "react-static-container": "1.0.1" + } }, "react-native-secp256k1": { "version": "git+https://github.com/Airbitz/react-native-secp256k1.git#728c477a716e3b0bdb7dd7b1bfc99704c274cd1e" @@ -5300,12 +8103,19 @@ "react-native-slider": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/react-native-slider/-/react-native-slider-0.9.1.tgz", - "integrity": "sha1-+OpePEiqNXdlZxm5Ef191MYr+Bo=" + "integrity": "sha1-+OpePEiqNXdlZxm5Ef191MYr+Bo=", + "requires": { + "react-addons-shallow-compare": "15.6.0", + "style-equal": "1.0.0" + } }, "react-native-sortable-listview": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/react-native-sortable-listview/-/react-native-sortable-listview-0.2.2.tgz", - "integrity": "sha1-8EBd3FKz3aXn+qrIMUBooXNKB3M=" + "integrity": "sha1-8EBd3FKz3aXn+qrIMUBooXNKB3M=", + "requires": { + "react-timer-mixin": "0.13.3" + } }, "react-native-splash-screen": { "version": "2.1.0", @@ -5315,12 +8125,18 @@ "react-native-swipe-flip": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/react-native-swipe-flip/-/react-native-swipe-flip-1.0.2.tgz", - "integrity": "sha1-JBRBaB+iT1e9M2R+y4tCQqukjkU=" + "integrity": "sha1-JBRBaB+iT1e9M2R+y4tCQqukjkU=", + "requires": { + "react-native-simple-gesture": "0.0.2" + } }, "react-native-tab-navigator": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/react-native-tab-navigator/-/react-native-tab-navigator-0.3.3.tgz", - "integrity": "sha1-siK60h++dzyNKPmg3jDOYrCHJNM=" + "integrity": "sha1-siK60h++dzyNKPmg3jDOYrCHJNM=", + "requires": { + "immutable": "3.8.1" + } }, "react-native-tabs": { "version": "1.0.9", @@ -5329,6 +8145,14 @@ }, "react-native-tcp": { "version": "git+https://github.com/Airbitz/react-native-tcp.git#d00165f83c3fc60a6d01941f583f11edd97ed80f", + "requires": { + "base64-js": "0.0.8", + "buffer": "5.0.6", + "events": "1.1.1", + "ip-regex": "1.0.3", + "process": "0.11.10", + "util": "0.10.3" + }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -5339,6 +8163,10 @@ "version": "5.0.6", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.6.tgz", "integrity": "sha1-LqZp9+7Atu2gWwj4tf9mGyhXNYg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8" + }, "dependencies": { "base64-js": { "version": "1.2.1", @@ -5358,6 +8186,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/react-native-udp/-/react-native-udp-2.0.0.tgz", "integrity": "sha1-VV70MCtGoOhToS47h2QgO7e5/Vg=", + "requires": { + "base64-js": "0.0.8", + "events": "1.1.1", + "inherits": "2.0.3", + "ip-regex": "1.0.3", + "util": "0.10.3" + }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -5370,6 +8205,11 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.3.0.tgz", "integrity": "sha512-K6AMkvkvCnYS64ZeUVa/ONSP7Iz8IbQWrG5UjlfP7uya12vR8aLUwm+MI/suIIKUhRFjvmIPskmc/i15pCTkiw==", + "requires": { + "lodash": "4.17.4", + "prop-types": "15.5.10", + "yargs": "8.0.2" + }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -5389,37 +8229,67 @@ "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=" + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==" + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=" + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "2.3.0" + } }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=" + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } }, "read-pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=" + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } }, "strip-bom": { "version": "3.0.0", @@ -5434,24 +8304,55 @@ "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=" + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } }, "yargs-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=" + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "4.1.0" + } } } }, "react-proxy": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", - "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=" + "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", + "requires": { + "lodash": "4.17.4", + "react-deep-force-update": "1.0.1" + } }, "react-redux": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.5.tgz", - "integrity": "sha1-+OjHsjlCJXblLWt9sGQ5RpvphGo=" + "integrity": "sha1-+OjHsjlCJXblLWt9sGQ5RpvphGo=", + "requires": { + "create-react-class": "15.6.0", + "hoist-non-react-statics": "1.2.0", + "invariant": "2.2.2", + "lodash": "4.17.4", + "lodash-es": "4.17.4", + "loose-envify": "1.3.1", + "prop-types": "15.5.10" + } }, "react-static-container": { "version": "1.0.1", @@ -5466,32 +8367,56 @@ "react-transform-hmr": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", - "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=" + "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", + "requires": { + "global": "4.3.2", + "react-proxy": "1.1.8" + } }, "react-tween-state": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/react-tween-state/-/react-tween-state-0.1.5.tgz", - "integrity": "sha1-6YsGZVHvuTy5LdG+FJlcLj3q4zk=" + "integrity": "sha1-6YsGZVHvuTy5LdG+FJlcLj3q4zk=", + "requires": { + "raf": "3.3.2", + "tween-functions": "1.2.0" + } }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } }, "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, "dependencies": { "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "2.0.1" + } } } }, @@ -5499,6 +8424,12 @@ "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + }, "dependencies": { "isarray": { "version": "0.0.1", @@ -5512,6 +8443,11 @@ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "mute-stream": "0.0.5" + }, "dependencies": { "mute-stream": { "version": "0.0.5", @@ -5530,12 +8466,21 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true + "dev": true, + "requires": { + "resolve": "1.4.0" + } }, "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==" + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "requires": { + "lodash": "4.17.4", + "lodash-es": "4.17.4", + "loose-envify": "1.3.1", + "symbol-observable": "1.0.4" + } }, "redux-devtools-extension": { "version": "2.13.2", @@ -5545,13 +8490,20 @@ "redux-immutable-state-invariant": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/redux-immutable-state-invariant/-/redux-immutable-state-invariant-1.2.4.tgz", - "integrity": "sha1-6LxKN+IoFTddWgT47LuAcFTqi7s=" + "integrity": "sha1-6LxKN+IoFTddWgT47LuAcFTqi7s=", + "requires": { + "invariant": "2.2.2", + "json-stringify-safe": "5.0.1" + } }, "redux-logger": { "version": "2.10.2", "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-2.10.2.tgz", "integrity": "sha1-PFpfCm8yV3wd6t9mVfJX+CxsOTc=", - "dev": true + "dev": true, + "requires": { + "deep-diff": "0.3.4" + } }, "redux-thunk": { "version": "2.2.0", @@ -5571,17 +8523,31 @@ "regenerator-transform": { "version": "0.9.11", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz", - "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=" + "integrity": "sha1-On0GdSDLe3F2dp61/4aGkb7+EoM=", + "requires": { + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "private": "0.1.7" + } }, "regex-cache": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=" + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "requires": { + "is-equal-shallow": "0.1.3", + "is-primitive": "2.0.0" + } }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=" + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "1.3.2", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } }, "regjsgen": { "version": "0.2.0", @@ -5591,7 +8557,10 @@ "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=" + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "0.5.0" + } }, "remove-trailing-separator": { "version": "1.0.2", @@ -5611,7 +8580,10 @@ "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "1.0.2" + } }, "replace-ext": { "version": "0.0.1", @@ -5622,16 +8594,48 @@ "version": "2.81.0", "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.11", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + }, "dependencies": { "form-data": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.16" + }, "dependencies": { "mime-types": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=" + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "requires": { + "mime-db": "1.29.0" + } } } }, @@ -5666,19 +8670,30 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } }, "resolve": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true + "dev": true, + "requires": { + "path-parse": "1.0.5" + } }, "resolve-dir": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", - "dev": true + "dev": true, + "requires": { + "expand-tilde": "1.2.2", + "global-modules": "0.2.3" + } }, "resolve-from": { "version": "1.0.1", @@ -5690,6 +8705,10 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", + "requires": { + "depd": "1.1.1", + "on-headers": "1.0.1" + }, "dependencies": { "depd": { "version": "1.1.1", @@ -5701,7 +8720,11 @@ "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } }, "rfc4648": { "version": "0.9.1", @@ -5711,17 +8734,27 @@ "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=" + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "0.1.4" + } }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "requires": { + "glob": "7.1.2" + } }, "ripemd160": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=" + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.3" + } }, "rlp": { "version": "2.0.0", @@ -5733,12 +8766,27 @@ "resolved": "https://registry.npmjs.org/rn-nodeify/-/rn-nodeify-7.0.1.tgz", "integrity": "sha1-9y0hX7i/JuFFbWO+4plfVc/xiac=", "dev": true, + "requires": { + "deep-equal": "1.0.1", + "findit": "2.0.0", + "fs-extra": "0.22.1", + "minimist": "1.2.0", + "object.pick": "1.2.0", + "run-parallel": "1.1.6", + "semver": "5.4.1", + "xtend": "4.0.1" + }, "dependencies": { "fs-extra": { "version": "0.22.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.22.1.tgz", "integrity": "sha1-X9b4BJ3JdsoZ6yNV1lgXPKvM4FY=", - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "rimraf": "2.6.1" + } }, "minimist": { "version": "1.2.0", @@ -5762,7 +8810,10 @@ "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=" + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } }, "run-parallel": { "version": "1.1.6", @@ -5770,11 +8821,6 @@ "integrity": "sha1-KQA8miFj4B4tLfyQV18sbB1hoDk=", "dev": true }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" - }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -5783,7 +8829,10 @@ "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=" + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "4.0.8" + } }, "safe-buffer": { "version": "5.1.1", @@ -5794,16 +8843,30 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", + "requires": { + "exec-sh": "0.2.0", + "fb-watchman": "1.9.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" + }, "dependencies": { "bser": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=" + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", + "requires": { + "node-int64": "0.4.0" + } }, "fb-watchman": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=" + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "requires": { + "bser": "1.0.2" + } }, "minimist": { "version": "1.2.0", @@ -5820,7 +8883,10 @@ "scrypt": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", - "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=" + "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", + "requires": { + "nan": "2.6.2" + } }, "scrypt-js": { "version": "2.0.3", @@ -5830,17 +8896,35 @@ "scrypt.js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", - "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=" + "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", + "requires": { + "scrypt": "6.0.3", + "scryptsy": "1.2.1" + } }, "scryptsy": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=" + "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", + "requires": { + "pbkdf2": "3.0.8" + } }, "secp256k1": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.3.0.tgz", - "integrity": "sha512-CbrQoeGG5V0kQ1ohEMGI+J7oKerapLTpivLICBaXR0R4HyQcN3kM9itLsV5fdpV1UR1bD14tOkJ1xughmlDIiQ==" + "integrity": "sha512-CbrQoeGG5V0kQ1ohEMGI+J7oKerapLTpivLICBaXR0R4HyQcN3kM9itLsV5fdpV1UR1bD14tOkJ1xughmlDIiQ==", + "requires": { + "bindings": "1.3.0", + "bip66": "1.1.5", + "bn.js": "4.11.7", + "create-hash": "1.1.3", + "drbg.js": "1.0.1", + "elliptic": "6.4.0", + "nan": "2.6.2", + "prebuild-install": "2.2.1", + "safe-buffer": "5.1.1" + } }, "semver": { "version": "5.4.1", @@ -5851,11 +8935,28 @@ "version": "0.13.2", "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", + "requires": { + "debug": "2.2.0", + "depd": "1.1.1", + "destroy": "1.0.4", + "escape-html": "1.0.3", + "etag": "1.7.0", + "fresh": "0.3.0", + "http-errors": "1.3.1", + "mime": "1.3.4", + "ms": "0.7.1", + "on-finished": "2.3.0", + "range-parser": "1.0.3", + "statuses": "1.2.1" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "depd": { "version": "1.1.1", @@ -5883,6 +8984,12 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=", + "requires": { + "etag": "1.7.0", + "fresh": "0.3.0", + "ms": "0.7.2", + "parseurl": "1.3.1" + }, "dependencies": { "ms": { "version": "0.7.2", @@ -5895,11 +9002,23 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", + "requires": { + "accepts": "1.2.13", + "batch": "0.5.3", + "debug": "2.2.0", + "escape-html": "1.0.3", + "http-errors": "1.3.1", + "mime-types": "2.1.11", + "parseurl": "1.3.1" + }, "dependencies": { "debug": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } }, "ms": { "version": "0.7.1", @@ -5911,7 +9030,12 @@ "serve-static": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", - "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=" + "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", + "requires": { + "escape-html": "1.0.3", + "parseurl": "1.3.1", + "send": "0.13.2" + } }, "set-blocking": { "version": "2.0.0", @@ -5926,17 +9050,26 @@ "sha.js": { "version": "2.4.8", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=" + "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "requires": { + "inherits": "2.0.3" + } }, "sha3": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.0.tgz", - "integrity": "sha1-aYnxtwpJhwWHajc+LGKs6WqpOZo=" + "integrity": "sha1-aYnxtwpJhwWHajc+LGKs6WqpOZo=", + "requires": { + "nan": "2.6.2" + } }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "1.0.0" + } }, "shebang-regex": { "version": "1.0.0", @@ -5946,13 +9079,24 @@ "shell-quote": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=" + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.0.3", + "rechoir": "0.6.2" + } }, "signal-exit": { "version": "3.0.2", @@ -5963,6 +9107,11 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=", + "requires": { + "once": "1.4.0", + "unzip-response": "1.0.2", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -5975,6 +9124,11 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz", "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=", + "requires": { + "bplist-creator": "0.0.7", + "bplist-parser": "0.1.1", + "plist": "2.0.1" + }, "dependencies": { "base64-js": { "version": "1.1.2", @@ -5984,7 +9138,12 @@ "plist": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz", - "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=" + "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=", + "requires": { + "base64-js": "1.1.2", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + } }, "xmlbuilder": { "version": "8.2.2", @@ -5996,7 +9155,10 @@ "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=" + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "0.3.1" + } }, "sjcl": { "version": "1.0.7", @@ -6024,6 +9186,15 @@ "resolved": "https://registry.npmjs.org/snazzy/-/snazzy-5.0.0.tgz", "integrity": "sha1-IqCo2o8TEfaBMWxRw6VKsTh4aAA=", "dev": true, + "requires": { + "chalk": "1.1.3", + "inherits": "2.0.3", + "minimist": "1.2.0", + "readable-stream": "2.3.3", + "standard": "8.6.0", + "standard-json": "1.0.2", + "text-table": "0.2.0" + }, "dependencies": { "minimist": { "version": "1.2.0", @@ -6035,20 +9206,35 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } } } }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=" + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.16.3" + } }, "source-map": { "version": "0.5.6", @@ -6058,7 +9244,10 @@ "source-map-support": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=" + "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "requires": { + "source-map": "0.5.6" + } }, "sparkles": { "version": "1.0.0", @@ -6068,7 +9257,10 @@ "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=" + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "1.2.2" + } }, "spdx-expression-parse": { "version": "1.0.4", @@ -6089,6 +9281,16 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -6107,6 +9309,15 @@ "resolved": "https://registry.npmjs.org/standard/-/standard-8.6.0.tgz", "integrity": "sha1-Y1Eyvnv7VnwpIQBfMPnjUOR1Kq0=", "dev": true, + "requires": { + "eslint": "3.10.2", + "eslint-config-standard": "6.2.1", + "eslint-config-standard-jsx": "3.2.0", + "eslint-plugin-promise": "3.4.2", + "eslint-plugin-react": "6.7.1", + "eslint-plugin-standard": "2.0.1", + "standard-engine": "5.2.0" + }, "dependencies": { "ansi-escapes": { "version": "1.4.0", @@ -6118,31 +9329,93 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } }, "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } }, "eslint": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.10.2.tgz", "integrity": "sha1-yaEOi/bp1lZRIEd4xQM0Hx6sPOc=", - "dev": true + "dev": true, + "requires": { + "babel-code-frame": "6.22.0", + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "debug": "2.6.8", + "doctrine": "1.5.0", + "escope": "3.6.0", + "espree": "3.4.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.3", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.16.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.9.1", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.7.8", + "strip-bom": "3.0.0", + "strip-json-comments": "1.0.4", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + } }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.1.0", + "figures": "1.7.0", + "lodash": "4.17.4", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } }, "onetime": { "version": "1.1.0", @@ -6154,13 +9427,20 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true + "dev": true, + "requires": { + "once": "1.4.0" + } }, "rx-lite": { "version": "3.1.2", @@ -6187,6 +9467,14 @@ "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-5.2.0.tgz", "integrity": "sha1-QAZgrlrM6K/U22D/IhSpGQrXkKM=", "dev": true, + "requires": { + "deglob": "2.1.0", + "find-root": "1.1.0", + "get-stdin": "5.0.1", + "home-or-tmp": "2.0.0", + "minimist": "1.2.0", + "pkg-config": "1.1.1" + }, "dependencies": { "minimist": { "version": "1.2.0", @@ -6200,7 +9488,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/standard-json/-/standard-json-1.0.2.tgz", "integrity": "sha1-gt6koUx4zZ4104zeS4isa2JZaiM=", - "dev": true + "dev": true, + "requires": { + "concat-stream": "1.6.0" + } }, "statuses": { "version": "1.3.1", @@ -6210,12 +9501,19 @@ "stream": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz", - "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=" + "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=", + "requires": { + "emitter-component": "1.1.1" + } }, "stream-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz", - "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=" + "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "1.1.14" + } }, "stream-buffers": { "version": "2.2.0", @@ -6225,7 +9523,10 @@ "stream-counter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=" + "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", + "requires": { + "readable-stream": "1.1.14" + } }, "string_decoder": { "version": "0.10.31", @@ -6240,7 +9541,12 @@ "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } }, "stringstream": { "version": "0.0.5", @@ -6250,12 +9556,18 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } }, "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "0.2.1" + } }, "strip-eof": { "version": "1.0.0", @@ -6265,7 +9577,10 @@ "strip-hex-prefix": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=" + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } }, "strip-json-comments": { "version": "2.0.1", @@ -6292,6 +9607,14 @@ "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.4", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -6309,40 +9632,74 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } } } }, "tar-fs": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.3.tgz", - "integrity": "sha1-7M+TXpQUk9gVECjmNuUc5MPKfyA=" + "integrity": "sha1-7M+TXpQUk9gVECjmNuUc5MPKfyA=", + "requires": { + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.2", + "tar-stream": "1.5.4" + } }, "tar-stream": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.0", + "readable-stream": "2.3.3", + "xtend": "4.0.1" + }, "dependencies": { "bl": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=" + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "requires": { + "readable-stream": "2.3.3" + } }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } }, "xtend": { "version": "4.0.1", @@ -6355,6 +9712,10 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "requires": { + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" + }, "dependencies": { "rimraf": { "version": "2.2.8", @@ -6367,7 +9728,11 @@ "version": "0.0.12", "resolved": "https://registry.npmjs.org/terminal-table/-/terminal-table-0.0.12.tgz", "integrity": "sha1-e1bQCapoKN/dEPEbZU55wGKWX6I=", - "dev": true + "dev": true, + "requires": { + "colors": "1.1.2", + "eastasianwidth": "0.1.1" + } }, "text-table": { "version": "0.2.0", @@ -6389,16 +9754,32 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + }, "dependencies": { "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } }, "xtend": { "version": "4.0.1", @@ -6415,7 +9796,10 @@ "timers-browserify": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=" + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "requires": { + "process": "0.11.10" + } }, "tiny-queue": { "version": "0.2.0", @@ -6425,7 +9809,10 @@ "tmp": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=" + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "requires": { + "os-tmpdir": "1.0.2" + } }, "tmpl": { "version": "1.0.4", @@ -6441,6 +9828,9 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "requires": { + "punycode": "1.4.1" + }, "dependencies": { "punycode": { "version": "1.4.1", @@ -6473,7 +9863,10 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } }, "tween-functions": { "version": "1.2.0", @@ -6490,17 +9883,27 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.16" + }, "dependencies": { "mime-types": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=" + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "requires": { + "mime-db": "1.29.0" + } } } }, @@ -6518,6 +9921,12 @@ "version": "2.7.5", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", + "requires": { + "async": "0.2.10", + "source-map": "0.5.6", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, "dependencies": { "async": { "version": "0.2.10", @@ -6532,7 +9941,12 @@ "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=" + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } }, "wordwrap": { "version": "0.0.2", @@ -6542,7 +9956,13 @@ "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=" + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } } } }, @@ -6554,7 +9974,10 @@ "uid-safe": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", - "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=" + "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", + "requires": { + "random-bytes": "1.0.0" + } }, "ultron": { "version": "1.1.0", @@ -6581,12 +10004,17 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/updot/-/updot-1.0.2.tgz", "integrity": "sha512-PZkERWHgGLZDpGeFGVLzmcZ/ZnVY09LBIMNYf4N+eHQymQXfCDlLOUlgMNjYnMkHoZQ+U6oapCioaC4ZWlsD4A==", - "dev": true + "requires": { + "ncp": "2.0.0" + } }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "requires": { + "punycode": "2.1.0" + }, "dependencies": { "punycode": { "version": "2.1.0", @@ -6598,13 +10026,20 @@ "url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=" + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } }, "user-home": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } }, "utf8": { "version": "2.1.2", @@ -6615,6 +10050,9 @@ "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + }, "dependencies": { "inherits": { "version": "2.0.1", @@ -6641,7 +10079,11 @@ "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=" + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } }, "vary": { "version": "1.0.1", @@ -6649,9 +10091,21 @@ "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=" }, "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } }, "vhost": { "version": "3.0.2", @@ -6662,6 +10116,11 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "requires": { + "clone": "1.0.2", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + }, "dependencies": { "clone": { "version": "1.0.2", @@ -6673,12 +10132,18 @@ "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=" + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.11" + } }, "watch": { "version": "0.10.0", @@ -6691,9 +10156,12 @@ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" }, "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "requires": { + "isexe": "2.0.0" + } }, "which-module": { "version": "1.0.0", @@ -6703,7 +10171,10 @@ "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==" + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "requires": { + "string-width": "1.0.2" + } }, "window-size": { "version": "0.1.0", @@ -6719,6 +10190,10 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.4.1.tgz", "integrity": "sha512-tgFAtgOYLPutkAyzgpS6VJFL5HY+0ui1Tvua+fITgz8ByaJTMFGtazR6xxQfwfiAcbwE+2fLG/K49wc2TfwCNw==", + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + }, "dependencies": { "xtend": { "version": "4.0.1", @@ -6730,7 +10205,11 @@ "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=" + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } }, "wrappy": { "version": "1.0.2", @@ -6741,17 +10220,29 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } }, "write-file-atomic": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=" + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } }, "ws": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz", "integrity": "sha1-V/QNA2gy5fUFVmKjl8Tedu1mv2E=", + "requires": { + "options": "0.0.6", + "ultron": "1.0.2" + }, "dependencies": { "ultron": { "version": "1.0.2", @@ -6764,6 +10255,11 @@ "version": "0.9.3", "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz", "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=", + "requires": { + "pegjs": "0.10.0", + "simple-plist": "0.2.1", + "uuid": "3.0.1" + }, "dependencies": { "uuid": { "version": "3.0.1", @@ -6776,6 +10272,9 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz", "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=", + "requires": { + "lodash": "3.10.1" + }, "dependencies": { "lodash": { "version": "3.10.1", @@ -6787,7 +10286,10 @@ "xmldoc": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", - "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=" + "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", + "requires": { + "sax": "1.1.6" + } }, "xmldom": { "version": "0.1.27", @@ -6817,12 +10319,30 @@ "yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=" + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } }, "yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=" + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "requires": { + "camelcase": "3.0.0" + } } } } diff --git a/package.json b/package.json index 813c4970c94..a9481a7631a 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "async": "^2.3.0", "asyncstorage-down": "^4.0.1", "base64-js": "^1.2.0", + "biggystring": "^1.0.4", "browserify-zlib": "^0.1.4", "buffer": "^3.6.0", "console-browserify": "^1.1.0", diff --git a/src/modules/Core/selectors.js b/src/modules/Core/selectors.js index 6585aa107e5..6a85f2204fa 100644 --- a/src/modules/Core/selectors.js +++ b/src/modules/Core/selectors.js @@ -41,6 +41,12 @@ export const getCurrencyConverter = (state) => { return currencyConverter } +export const getExchangeRate = (state, fromCurrencyCode, toCurrencyCode) => { + const currencyConverter = getCurrencyConverter(state) + const exchangeRate = currencyConverter.currencyConverter(fromCurrencyCode, toCurrencyCode, 1) + return exchangeRate +} + export const getBalanceInCrypto = (state, walletId, currencyCode) => { const balanceInCrypto = getWallet(state, walletId).getBalance(currencyCode) console.log('balanceInCrypto', balanceInCrypto) diff --git a/src/modules/UI/Settings/reducer.js b/src/modules/UI/Settings/reducer.js index 03aaa47b1f8..f7a4559c596 100644 --- a/src/modules/UI/Settings/reducer.js +++ b/src/modules/UI/Settings/reducer.js @@ -112,18 +112,6 @@ export const settings = (state = initialState, action) => { } } - case ACTION.SET_SHITCOIN_DENOMINATION: { - const { denomination } = data - const TRD = state['TRD'] - return { - ...state, - TRD: { - ...TRD, - denomination - } - } - } - default: return state } diff --git a/src/modules/UI/Settings/selectors.js b/src/modules/UI/Settings/selectors.js index 46b29338ff7..b46ea0d8177 100644 --- a/src/modules/UI/Settings/selectors.js +++ b/src/modules/UI/Settings/selectors.js @@ -3,7 +3,7 @@ export const getSettings = (state) => { return settings } -export const getDenominationIndex = (state, currencyCode) => { +export const getDenominationIndex = (state, currencyCode: string) => { const settings = getSettings(state) const currencySettings = settings[currencyCode] let denominationIndex @@ -12,3 +12,32 @@ export const getDenominationIndex = (state, currencyCode) => { } return denominationIndex } + +export const getCurrencySettings = (state, currencyCode: string) => { + const settings = getSettings(state) + const currencySettings = settings[currencyCode] + return currencySettings +} + +export const getCurrencyDenomination = (state, currencyCode: string) => { + const currencySettings = getCurrencySettings(state, currencyCode) + const denomination = currencySettings.denomination + return denomination +} + +export const getNativeToDenominationRatio = (state, currencyCode: string) => { + const currencySettings = getCurrencySettings(state, currencyCode) + const nativeToDenominationRatio = currencySettings.denomination.nativeToDenominationRatio + return nativeToDenominationRatio +} + +export const getAdapters = (state) => { + const settings = getSettings(state) + const adapters = settings.adapters + return adapters +} + +export const getBaseDenomination = (state, currencyCode: string): string => { + const currencySettings = getCurrencySettings(state, currencyCode) + currencySettings.denomination +} diff --git a/src/modules/UI/components/ExchangeRate/ExchangeRate.ui.js b/src/modules/UI/components/ExchangeRate/ExchangeRate.ui.js index a2df2349980..437531b0c6b 100644 --- a/src/modules/UI/components/ExchangeRate/ExchangeRate.ui.js +++ b/src/modules/UI/components/ExchangeRate/ExchangeRate.ui.js @@ -11,11 +11,11 @@ const styles = StyleSheet.create({ } }) -const ExchangeRate = ({fiatPerCrypto, fiatCurrencyCode, cryptoDenom}) => { +const ExchangeRate = ({fiatPerCrypto, fiatCurrencyCode, cryptoDenomination}) => { const text = fiatPerCrypto === 0 ? Exchange Rate loading... : - 1 {cryptoDenom.name} = {fiatCurrencyCode} {(fiatPerCrypto).toFixed(2)} + 1 {cryptoDenomination.name} = {fiatCurrencyCode} {(fiatPerCrypto).toFixed(2)} return ( diff --git a/src/modules/UI/components/FlipInput/ExchangedFlipInput.js b/src/modules/UI/components/FlipInput/ExchangedFlipInput.js new file mode 100644 index 00000000000..300a651193d --- /dev/null +++ b/src/modules/UI/components/FlipInput/ExchangedFlipInput.js @@ -0,0 +1,106 @@ +import React, { Component } from 'react' +import FlipInput from './FlipInput.ui.js' + +import { + convertDenominationToBase, + convertBaseToBase, + convertBaseToDenomination, + deriveDenominationToBaseRatio +} from '../../../utils.js' + +export default class ExchangedFlipInput extends Component { + constructor (props) { + super(props) + + this.state = { + primaryDenominationAmount: '0', + secondaryDenominationAmount: '0' + } + } + + onPrimaryAmountChange = (primaryDenominationAmount) => { + const secondaryDenominationAmount = + this.convertPrimaryDenominationToSecondaryDenomination(primaryDenominationAmount) + this.setState({ + primaryDenominationAmount, + secondaryDenominationAmount + }) + this.props.onAmountsChange({ + primaryDenominationAmount, + secondaryDenominationAmount + }) + } + + onSecondaryAmountChange = (secondaryDenominationAmount) => { + const primaryDenominationAmount = + this.convertSecondaryDenominationToPrimaryDenomination(secondaryDenominationAmount) + this.setState({ + primaryDenominationAmount, + secondaryDenominationAmount + }) + this.props.onAmountsChange({ + primaryDenominationAmount, + secondaryDenominationAmount + }) + } + + convertPrimaryDenominationToSecondaryDenomination = (primaryDenominationAmount: string): string => { + const primaryBaseAmount = this.convertPrimaryDenominationToPrimaryBase(primaryDenominationAmount) + const secondaryBaseAmount = this.convertPrimaryBaseToSecondaryBase(primaryBaseAmount) + const secondaryDenominationAmount = this.convertSecondaryBaseToSecondaryDenomination(secondaryBaseAmount) + return secondaryDenominationAmount + } + + convertSecondaryDenominationToPrimaryDenomination = (secondaryDenominationAmount: string): string => { + const secondaryBaseAmount = this.convertSecondaryDenominationToSecondaryBase(secondaryDenominationAmount) + const primaryBaseAmount = this.convertSecondaryBaseToPrimaryBase(secondaryBaseAmount) + const primaryDenominationAmount = this.convertPrimaryBaseToPrimaryDenomination(primaryBaseAmount) + return primaryDenominationAmount + } + + render () { + const primary = this.props.primary + const secondary = this.props.secondary + + return ( + + ) + } + + getPrimaryDenominationToBaseRatio = (): string => { + return deriveDenominationToBaseRatio(this.props.primary.baseDenomination.multiplier)(this.props.primary.denomination.multiplier) + } + getSecondaryDenominationToBaseRatio = (): string => { + return deriveDenominationToBaseRatio(this.props.secondary.baseDenomination.multiplier)(this.props.secondary.denomination.multiplier) + } + + convertPrimaryDenominationToPrimaryBase = (primaryDenominationAmount: string): number => { + return convertDenominationToBase(this.getPrimaryDenominationToBaseRatio())(primaryDenominationAmount) + } + convertSecondaryDenominationToSecondaryBase = (secondaryDenominationAmount: string): number => { + return convertDenominationToBase(this.getSecondaryDenominationToBaseRatio())(secondaryDenominationAmount) + } + + convertPrimaryBaseToSecondaryBase = (primaryBaseAmount: number): number => { + return convertBaseToBase(this.props.secondaryToPrimaryRatio)(primaryBaseAmount) + } + convertSecondaryBaseToPrimaryBase = (secondaryBaseAmount: number): number => { + return convertBaseToBase(1 / this.props.secondaryToPrimaryRatio)(secondaryBaseAmount) + } + + convertPrimaryBaseToPrimaryDenomination = (primaryBaseAmount: number): string => { + return convertBaseToDenomination(this.getPrimaryDenominationToBaseRatio())(primaryBaseAmount) + } + convertSecondaryBaseToSecondaryDenomination = (secondaryBaseAmount: number): string => { + return convertBaseToDenomination(this.getSecondaryDenominationToBaseRatio())(secondaryBaseAmount) + } +} diff --git a/src/modules/UI/components/FlipInput/FlipInput.ui.js b/src/modules/UI/components/FlipInput/FlipInput.ui.js index f38a164822f..a364a015b34 100644 --- a/src/modules/UI/components/FlipInput/FlipInput.ui.js +++ b/src/modules/UI/components/FlipInput/FlipInput.ui.js @@ -1,332 +1,63 @@ -import React, {Component} from 'react' +import React, { Component } from 'react' import { Animated, + Text, TextInput, View } from 'react-native' -import {connect} from 'react-redux' import styles from './styles.js' -import { border as b, getCryptoFromFiat, getFiatFromCrypto } from '../../../utils.js' import FAIcon from 'react-native-vector-icons/MaterialIcons' import T from '../FormattedText' -import { - updateInputCurrencySelected, - updateSpendSufficientFunds -} from '../../scenes/SendConfirmation/action' - -import {updateInputCurrencySelected as updateRequestInputCurrency} from '../../scenes/Request/action' - -import * as CORE_SELECTORS from '../../../Core/selectors.js' -import * as UI_SELECTORS from '../../selectors.js' - -import * as SEND_ACTIONS from '../../scenes/SendConfirmation/action.js' -import * as REQUEST_ACTIONS from '../../Request/action.js' - -class FlipInput extends Component { - render () { - console.log('rendering FlipInput, this.props is: ', this.props) - const { - onInputChange, - amountSatoshi, - amountFiat, - onInputCurrencyToggle, - feeInFiat, - feeInCrypto, - displayFees, - inputCurrencySelected, - cryptoDenom - } = this.props - - let secondaryPlaceholderSyntax - let primaryAmountRequested - let secondaryAmountRequested - let primaryFeeAmount - let secondaryFeeAmount - let primaryDenomSymbol - let secondaryDenomSymbol - - let cryptoPlaceholder = '0.00' - let fiatPlaceholder = '0.00' - - if (inputCurrencySelected === 'crypto') { - primaryDenomSymbol = this.props.cryptoDenom.name - secondaryDenomSymbol = this.props.fiatCurrencyCode - secondaryPlaceholderSyntax = fiatPlaceholder - primaryAmountRequested = amountSatoshi || 0 - secondaryAmountRequested = amountFiat - primaryFeeAmount = feeInCrypto - secondaryFeeAmount = feeInFiat - } else { - primaryDenomSymbol = this.props.fiatCurrencyCode - secondaryDenomSymbol = this.props.cryptoDenom.name - secondaryPlaceholderSyntax = cryptoPlaceholder - primaryAmountRequested = amountFiat - secondaryAmountRequested = amountSatoshi || 0 - primaryFeeAmount = feeInFiat - secondaryFeeAmount = feeInCrypto - } - - return ( - - ) - } -} - -export default connect(state => ({}))(FlipInput) -class FlipInputInside extends Component { +export default class FlipInput extends Component { constructor (props) { - console.log('in FlipInput constructor') super(props) this.state = { - primaryInputValue: '', - secondaryInputValue: '', - flipInputOpacity: new Animated.Value(1), - mode: this.props.mode + isToggled: false, + animatedTextOpacity: new Animated.Value(1) } } + onToggleFlipInput = () => this.setState({ isToggled: !this.state.isToggled }) + + renderTopRow = (primary, onChangeText) => { + + {primary.denomination.symbol} + + {primary.currencyCode} + + } - render () { - console.log('rendering FlipInputInside, this.props is: ', this.props) - const { - amountRequestedSecondary, - primaryPlaceholder, - secondaryPlaceholder, - primaryDenomSymbol, - secondaryDenomSymbol - } = this.props - - const _onInputCurrencyToggle = () => { - console.log('SendConfirmation->onInputCurrencyToggle called') - const {inputCurrencySelected} = this.props - const nextInputCurrencySelected = inputCurrencySelected === 'crypto' - ? 'fiat' - : 'crypto' - - Animated.timing(this.state.flipInputOpacity, { - toValue: 0, - duration: 100 - }).start(() => { - this.setState({ - primaryInputValue: this.state.secondaryInputValue, - secondaryInputValue: this.state.primaryInputValue - }) - // inputChange(0) - - if (this.props.scene.sceneKey === 'sendConfirmation') { - this.props.dispatch(updateInputCurrencySelected(nextInputCurrencySelected)) - } else if (this.props.scene.sceneKey === 'request') { - this.props.dispatch(updateRequestInputCurrency(nextInputCurrencySelected)) - } - // clearText('primaryInput') - Animated.timing(this.state.flipInputOpacity, { - toValue: 1, - duration: 100 - }).start() - }) - } - - const limitFiatDecimals = (num) => { - console.log('num: ', num) - let inputString = num - let periodPosition = inputString.indexOf('.') - console.log('periodPosition: ', periodPosition) - let first - let second - if (periodPosition > -1) { - first = inputString.split('.')[0] - console.log('first: ', first) - second = inputString.split('.')[1] - console.log('second: ', second) - if (second.length > 2) { - return first + '.' + second.slice(0, 2) - } else { - return first + '.' + second - } - } else { - return num - } - } - - const inputChange = (input) => { - console.log('inputChange executing, input is: ', input) - // onInputChange(input) - this.setState({ - primaryInputValue: (this.props.inputCurrencySelected === 'crypto') - ? input - : limitFiatDecimals(input.toString()), - secondaryInputValue: getSecondaryAmount(input) - }, () => { - console.log('in inputChange, this.state is: ', this.state, ' and input is: ', input, ' , and this.props.inputCurrencySelected is: ', this.props.inputCurrencySelected) - if (input === '' || parseInt(input) === 0) { - this.props.dispatch(updateSpendSufficientFunds(null)) - } - if (this.props.inputCurrencySelected === 'crypto') { // Change Crypto Input ////////////// - if (this.props.scene.sceneKey === 'sendConfirmation') { // Send ////////////////////////// - const amountSatoshi = this.state.primaryInputValue - const amountInBaseDenomination = Math.round(amountSatoshi * this.props.cryptoDenom.multiplier) - this.props.dispatch(SEND_ACTIONS.updateAmountSatoshiRequest(amountInBaseDenomination)) - } else { // Request //////////////////////////////////////////////////////////////////// - this.props.dispatch(REQUEST_ACTIONS.updateAmountRequestedInCrypto(this.state.primaryInputValue)) - } - } else { // Change Fiat Input //////////////////////////////////////////////////////////// - if (this.props.scene.sceneKey === 'sendConfirmation') { // Send ////////////////////////// - console.log('sendConfirmation fiat changed to: ', input) - const amountSatoshi = Number(getCryptoFromFiat(Number(input), this.props.fiatPerCrypto)) - const amountInBaseDenomination = Math.round(amountSatoshi * this.props.cryptoDenom.multiplier) - this.props.dispatch(SEND_ACTIONS.updateAmountSatoshiRequest(amountInBaseDenomination)) - } else { // Request //////////////////////////////////////////////////////////////////// - this.props.dispatch(REQUEST_ACTIONS.updateAmountRequestedInFiat(Number(input))) - this.props.dispatch(REQUEST_ACTIONS.updateAmountRequestedInCrypto(Number(getCryptoFromFiat(Number(input), this.props.fiatPerCrypto).toString()))) - } - } - }) - } - - const getSecondaryAmount = (input) => { - // Need to figure out if primary is crypto or fiat - console.log('calling getSecondaryAmount, input is: ', input, ' and amountRequestedSecondary is: ', amountRequestedSecondary) - if ([0, '', undefined, null].includes(input) || (isNaN(input) === true)) { - console.log('value is falsy') - return '' - } - console.log('value is truthy: ', input, ' , this.props.inputCurrencySelected is: ', this.props.inputCurrencySelected) - if (this.props.inputCurrencySelected === 'crypto') { - return getFiatFromCrypto(Number(input), this.props.fiatPerCrypto).toFixed(2).toString() - } else { - console.log('about to use input.toPrecsion(12), input is: ', input) - return getCryptoFromFiat(Number(input), this.props.fiatPerCrypto).toString() - } - } - - const getTextColor = () => { - console.log('inside getTextColor:, this.state.mode is: ', this.state.mode) - switch (this.props.mode) { - case 'over': - return '#F03A47' - case 'max': - return '#F6A623' - default: - return 'white' - } - } - - const renderMainInput = () => { - return ( - - - - - - - - - {primaryDenomSymbol} - - - - ) - } - - const renderConvertedInput = () => { - return ( - - - - {this.state.secondaryInputValue || secondaryPlaceholder} - - - - - {secondaryDenomSymbol} - - - - ) - } + renderBottomRow = (secondary) => { + + {secondary.denomination.symbol} + + {secondary.denominationAmount} + + {secondary.currencyCode} + + } - return ( - - - - - {renderMainInput()} - {renderConvertedInput()} - - - - ) + renderRows = () => { + this.state.isToggled + ? [ + this.renderTopRow(this.props.primary, this.props.onSecondaryAmountChange), + this.renderBottomRow(this.props.secondary) + ] + : [ + this.renderTopRow(this.props.secondary, this.props.onPrimaryAmountChange), + this.renderBottomRow(this.props.primary) + ] } -} -export const FlipInputInsideConnect = connect(state => { - const currencyConverter = CORE_SELECTORS.getCurrencyConverter(state) - const wallet = UI_SELECTORS.getSelectedWallet(state) - const isoFiatCurrencyCode = wallet.isoFiatCurrencyCode - const currencyCode = UI_SELECTORS.getSelectedCurrencyCode(state) - const cryptoPerFiat = currencyConverter.convertCurrency(isoFiatCurrencyCode, currencyCode, 1) - const fiatPerCrypto = currencyConverter.convertCurrency(currencyCode, isoFiatCurrencyCode, 1) - return { - cryptoPerFiat, - fiatPerCrypto, - currencyCode, - maxSatoshi: state.ui.wallets.byId[state.ui.wallets.selectedWalletId].balance, - scene: state.routes.scene + render () { + + + {this.renderRows()} + } -})(FlipInputInside) +} diff --git a/src/modules/UI/scenes/Request/Request.ui.js b/src/modules/UI/scenes/Request/Request.ui.js index 3b59406caff..5985add0232 100644 --- a/src/modules/UI/scenes/Request/Request.ui.js +++ b/src/modules/UI/scenes/Request/Request.ui.js @@ -10,11 +10,10 @@ import { import {connect} from 'react-redux' import styles from './styles.js' import ExchangeRate from '../../components/ExchangeRate/index.js' -import FlipInput from '../../components/FlipInput/index.js' import ABQRCode from '../../components/QRCode/index.js' import RequestStatus from '../../components/RequestStatus/index.js' import ShareButtons from '../../components/ShareButtons/index.js' -import {getCryptoFromFiat, getFiatFromCrypto, sanitizeInput} from '../../../utils.js' +import { convertDenominationToNative } from '../../../utils.js' import ContactsWrapper from 'react-native-contacts-wrapper' import LinearGradient from 'react-native-linear-gradient' @@ -24,29 +23,38 @@ import * as SETTINGS_SELECTORS from '../../Settings/selectors.js' import { updateReceiveAddress, - updateAmountRequestedInCrypto, - updateAmountRequestedInFiat, saveReceiveAddress } from './action.js' +import { ExchangedFlipInput } from '../../components/FlipInput/ExchangedFlipInput.js' + class Request extends Component { constructor (props) { super(props) this.state = { - keyboardVisible: false + keyboardVisible: false, + primaryNativeAmount: 0, + secondaryNativeAmount: 0 } } componentDidMount () { this.props.updateReceiveAddress(this.props.walletId, this.props.currencyCode) } + _onFocus = () => this.setState({keyboardVisible: true}) + _onBlur = () => this.setState({keyboardVisible: false}) - _onFocus = () => { - this.setState({keyboardVisible: true}) - } + onAmountsChange = ({ primaryDenominationAmount, secondaryDenominationAmount }) => { + const primaryNativeToDenominationRatio = this.props.primary.denomination.multiplier + const secondaryNativeToDenominationRatio = this.props.secondary.denomination.multiplier - _onBlur = () => { - this.setState({keyboardVisible: false}) + const primaryNativeAmount = convertDenominationToNative(primaryNativeToDenominationRatio)(primaryDenominationAmount) + const secondaryNativeAmount = convertDenominationToNative(secondaryNativeToDenominationRatio)(secondaryDenominationAmount) + + this.setState({ + primaryNativeAmount, + secondaryNativeAmount + }, console.log(`onAmountsChange: primaryDenominationAmount: ${primaryDenominationAmount}, secondaryDenominationAmount: ${secondaryDenominationAmount}\n onAmountsChange: primaryNativeAmount: ${primaryNativeAmount}, secondaryNativeAmount: ${secondaryNativeAmount}`)) } render () { @@ -58,28 +66,28 @@ class Request extends Component { amountSatoshi = null, metadata = {} } = receiveAddress - const {amountFiat = null} = metadata + const { amountFiat = null } = metadata + const color = 'white' + const { primaryDenominationInfo, secondaryDenominationInfo } = this.props return ( - + - {this.props.inputCurrencySelected === 'crypto' - ? - : } + @@ -93,31 +101,6 @@ class Request extends Component { ) } - // /////////////// Start Critical Input and Conversion Area ////////////////////// - onCryptoInputChange = (amountRequestedInCrypto) => { - console.log('inside Request.ui->onCryptoInputChange, amountRequestedInCrypto is: ', amountRequestedInCrypto) - amountRequestedInCrypto = sanitizeInput(amountRequestedInCrypto) - if (this.invalidInput(amountRequestedInCrypto)) { - return - } - const amountRequestedInFiat = getFiatFromCrypto(amountRequestedInCrypto, this.props.fiatPerCrypto) - - this.props.dispatch(updateAmountRequestedInCrypto(amountRequestedInCrypto)) - this.props.dispatch(updateAmountRequestedInFiat(amountRequestedInFiat)) - } - - onFiatInputChange = (amountRequestedInFiat) => { - console.log('inside Request.ui->onCryptoInputChange, amountRequestedInCrypto is: ', amountRequestedInCrypto) - amountRequestedInFiat = sanitizeInput(amountRequestedInFiat) - if (this.invalidInput(amountRequestedInFiat)) { - return - } - - const amountRequestedInCrypto = getCryptoFromFiat(amountRequestedInFiat, this.props.fiatPerCrypto) - this.props.dispatch(updateAmountRequestedInCrypto(amountRequestedInCrypto)) - this.props.dispatch(updateAmountRequestedInFiat(amountRequestedInFiat)) - } - // /////////////// End Critical Input and Conversion Area ////////////////////// copyToClipboard = (publicAddress, amountSatoshi) => { Clipboard.setString(this.getRequestInfoForClipboard(publicAddress, amountSatoshi)) @@ -203,29 +186,47 @@ class Request extends Component { } const mapStateToProps = (state) => { - let exchangeRate = 0 - let inputCurrencyDenom = {} + let fiatPerCrypto = 0 const wallet = UI_SELECTORS.getSelectedWallet(state) const currencyCode = UI_SELECTORS.getSelectedCurrencyCode(state) + const primaryDenomination = SETTINGS_SELECTORS.getCurrencyDenomination(state, currencyCode) + const primaryBaseDenomination = SETTINGS_SELECTORS.getBaseDenomination(state, currencyCode) + const secondaryBaseDenomination = { + name: 'Dollars', + symbol: '$', + multiplier: '100' + } + const secondaryDenomination = { + name: 'Dollars', + symbol: '$', + multiplier: '100' + } if (wallet) { const isoFiatCurrencyCode = wallet.isoFiatCurrencyCode - const currencyConverter = CORE_SELECTORS.getCurrencyConverter(state) - exchangeRate = currencyConverter.convertCurrency(currencyCode, isoFiatCurrencyCode, 1) - const index = SETTINGS_SELECTORS.getDenominationIndex(state, currencyCode) - inputCurrencyDenom = wallet.allDenominations[currencyCode][index] + fiatPerCrypto = CORE_SELECTORS.getExchangeRate(state, currencyCode, isoFiatCurrencyCode) + } + + const primaryDenominationInfo = { + displayCurrencyCode: currencyCode, + exchangeCurrencyCode: currencyCode, + denomination: primaryDenomination, + baseDenomination: primaryBaseDenomination + } + + const secondaryDenominationInfo = { + displayCurrencyCode: wallet.fiatCurrencyCode, + exchangeCurrencyCode: wallet.isoFiatCurrencyCode, + denomination: secondaryDenomination, + baseDenomination: secondaryBaseDenomination } return { - fiatPerCrypto: exchangeRate, request: state.ui.scenes.request, - wallets: state.ui.wallets, - walletId: state.ui.wallets.selectedWalletId, + fiatPerCrypto, + wallet, currencyCode, - settings: state.ui.settings, - inputCurrencySelected: state.ui.scenes.request.inputCurrencySelected, - inputCurrencyDenom, - fiatCurrencyCode: state.ui.wallets.byId[state.ui.wallets.selectedWalletId].fiatCurrencyCode - // fiatPerCrypto: state.ui.scenes.exchangeRate.exchangeRates[state.ui.wallets.byId[state.ui.wallets.selectedWalletId].currencyCode].value,,, + primaryDenominationInfo, + secondaryDenominationInfo } } const mapDispatchToProps = (dispatch) => ({ diff --git a/src/modules/UI/scenes/Scan/Scan.ui.js b/src/modules/UI/scenes/Scan/Scan.ui.js index 51c34108644..2b732d4b7e3 100644 --- a/src/modules/UI/scenes/Scan/Scan.ui.js +++ b/src/modules/UI/scenes/Scan/Scan.ui.js @@ -1,13 +1,11 @@ import React, { Component } from 'react' import strings from '../../../../locales/default' -import {sprintf} from 'sprintf-js' +import { sprintf } from 'sprintf-js' import { ActivityIndicator, Text, View, - TouchableHighlight, - TextInput, - Clipboard + TouchableHighlight } from 'react-native' import T from '../../components/FormattedText' import LinearGradient from 'react-native-linear-gradient' @@ -33,10 +31,8 @@ import { } from '../SendConfirmation/action.js' import { toggleWalletListModal } from '../WalletTransferList/action' -import StylizedModal from '../../components/Modal/Modal.ui' -import {TertiaryButton} from '../../components/Buttons' -import ModalStyle from '../../components/Modal/style' -import {border as b} from '../../../utils' +import { border } from '../../../utils' +import { AddressModal } from './components/AddressModal.js' class Scan extends Component { constructor (props) { @@ -74,10 +70,17 @@ class Scan extends Component { onBarCodeRead = (scan) => { if (this.props.scene !== 'scan') return const uri = scan.data - this.props.processURI(uri) - Actions.sendConfirmation() - // // React Native Router Flux does not fully unmount scenes when transitioning - // // {type: 'reset'} is needed to fully unmount the Scan scene, or else the camera will keep scanning + this.parseURI(uri) + } + + parseURI = (uri) => { + try { + const parsedURI = WALLET_API.parseURI(this.props.coreWallet, uri) + this.props.updateParsedURI(parsedURI) + Actions.sendConfirmation() + } catch (e) { + console.log(e) + } } selectPhotoTapped = () => { @@ -129,36 +132,36 @@ class Scan extends Component { return ( {this.renderCamera()} - + - + - - {sprintf(strings.enUS['send_scan_header_text'])} + + {sprintf(strings.enUS['send_scan_header_text'])} - + - + {sprintf(strings.enUS['fragment_send_transfer'])} - + - - {sprintf(strings.enUS['fragment_send_address'])} + + {sprintf(strings.enUS['fragment_send_address'])} - + {sprintf(strings.enUS['fragment_send_photos'])} - + {sprintf(strings.enUS['fragment_send_flash'])} @@ -168,9 +171,12 @@ class Scan extends Component { ) } } +const mapStateToProps = (state) => { + const walletId = UI_SELECTORS.getSelectedWalletId(state) + const coreWallet = CORE_SELECTORS.getWallet(state, walletId) -const mapStateToProps = state => { return { + coreWallet, scene: state.routes.scene.name, torchEnabled: state.ui.scenes.scan.torchEnabled, walletListModalVisible: state.ui.scenes.walletTransferList.walletListModalVisible, @@ -178,7 +184,6 @@ const mapStateToProps = state => { scanToWalletListModalVisibility: state.ui.scenes.scan.scanToWalletListModalVisibility } } - const mapDispatchToProps = dispatch => { return { toggleEnableTorch: () => dispatch(toggleEnableTorch()), @@ -190,131 +195,4 @@ const mapDispatchToProps = dispatch => { updateWalletTransfer: wallet => dispatch(updateWalletTransfer(wallet)) } } - export default connect(mapStateToProps, mapDispatchToProps)(Scan) - -class WalletAddressModal extends Component { - render () { - return ( - } - headerText='fragment_send_address_dialog_title' - modalMiddle={} - modalBottom={} - visibilityBoolean={this.props.addressModalVisible} - /> - ) - } -} - -export const WalletAddressModalConnect = connect(state => ({ - addressModalVisible: state.ui.scenes.scan.addressModalVisible -}))(WalletAddressModal) - -class AddressInputRecipient extends Component { // this component is for the input area of the Recipient Address Modal - constructor (props) { - super(props) - this.state = { - uri: '', - clipboard: '' - } - } - - componentDidMount () { - // grab the contents of the clipboard - // ask the selected core wallet to parse - // if success, add to this.state.clipboard - - Clipboard.getString().then(uri => { - const wallet = this.props.coreWallet - try { - WALLET_API.parseURI(wallet, uri) - this.setState({ - clipboard: uri - }) - } catch (e) { - console.log(e) - } - }) - } - - _processURI = () => { - console.log('this.state.uri', this.state.uri) - this.props.dispatch(toggleAddressModal()) - this.props.dispatch(processURI(this.state.uri)) - Actions.sendConfirmation() - } - - render () { - console.log('rendering Rename Address, this.state is: ', this.state) - const copyMessage = sprintf(strings.enUS['string_paste_address'], this.state.clipboard) - - return ( - - - this.setState({uri})} - autoCapitalize={'none'} - autoFocus - placeholder={copyMessage} - returnKeyType={'done'} - autoCorrect={false} - onSubmitEditing={this._processURI} /> - - {this.state.clipboard.length !== 0 && - - - - } - - ) - } -} - -export const AddressInputRecipientConnect = connect((state) => { - const walletId = UI_SELECTORS.getSelectedWalletId(state) - const coreWallet = CORE_SELECTORS.getWallet(state, walletId) - - return { - coreWallet, - recipientAddress: state.ui.scenes.scan.recipientAddress - } -})(AddressInputRecipient) - -class SendAddressButtons extends Component { // this component is for the button area of the Recipient Address Modal - _onModalDone = () => { - console.log('recipient address done, this.props.recipientAddress is: ', this.props.recipientAddress) - this.props.dispatch(processURI(this.props.recipientAddress)) - this.props.dispatch(updatePublicAddressRequest(this.props.recipientAddress)) - this._onToggleAddressModal() - Actions.sendConfirmation({ type: 'reset', recipientPublicAddress: this.props.recipientAddress }) - } - _onToggleAddressModal = () => { - this.props.dispatch(toggleAddressModal()) - } - - render () { - return ( - - - - {sprintf(strings.enUS['string_cancel_cap'])} - - - - - {sprintf(strings.enUS['string_done_cap'])} - - - - ) - } -} - -const SendAddressButtonsConnect = connect(state => ({ - recipientAddress: state.ui.scenes.scan.recipientAddress -}))(SendAddressButtons) diff --git a/src/modules/UI/scenes/Scan/components/AddressInput.js b/src/modules/UI/scenes/Scan/components/AddressInput.js new file mode 100644 index 00000000000..6aadf6ab1ea --- /dev/null +++ b/src/modules/UI/scenes/Scan/components/AddressInput.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react' +import { + View, + TextInput +} from 'react-native' +import {TertiaryButton} from '../../../components/Buttons' +import styles from '../style.js' + +export class AddressInput extends Component { // this component is for the input area of the Recipient Address Modal + render () { + return ( + + + + + {this.props.copyMessage && + + + + } + + ) + } +} diff --git a/src/modules/UI/scenes/Scan/components/AddressInputButtons.js b/src/modules/UI/scenes/Scan/components/AddressInputButtons.js new file mode 100644 index 00000000000..9749cd8f252 --- /dev/null +++ b/src/modules/UI/scenes/Scan/components/AddressInputButtons.js @@ -0,0 +1,29 @@ +import React, { Component } from 'react' +import { + View, + TouchableHighlight +} from 'react-native' +import ModalStyle from '../../../components/Modal/style' +import { border } from '../../../../utils.js' +import {sprintf} from 'sprintf-js' +import strings from '../../../../../locales/default' +import T from '../../../components/FormattedText' + +export class AddressInputButtons extends Component { // this component is for the button area of the Recipient Address Modal + render () { + return ( + + + + {sprintf(strings.enUS['string_cancel_cap'])} + + + + + {sprintf(strings.enUS['string_done_cap'])} + + + + ) + } +} diff --git a/src/modules/UI/scenes/Scan/components/AddressModal.js b/src/modules/UI/scenes/Scan/components/AddressModal.js new file mode 100644 index 00000000000..b9c9afadc49 --- /dev/null +++ b/src/modules/UI/scenes/Scan/components/AddressModal.js @@ -0,0 +1,98 @@ +import React, { Component } from 'react' +import { + Clipboard +} from 'react-native' +import { connect } from 'react-redux' +import strings from '../../../../../locales/default' +import { sprintf } from 'sprintf-js' +import FAIcon from 'react-native-vector-icons/FontAwesome' + +import StylizedModal from '../../../components/Modal/Modal.ui' +import * as WALLET_API from '../../../../Core/Wallets/api.js' +import { toggleAddressModal } from '../action' +import { AddressInput } from './AddressInput.js' +import { AddressInputButtons } from './AddressInputButtons.js' + +class WalletAddressModal extends Component { + constructor (props) { + super(props) + + this.state = { + uri: '', + clipboard: '' + } + } + + componentDidMount () { + Clipboard.getString().then(uri => { + const wallet = this.props.coreWallet + try { + WALLET_API.parseURI(wallet, uri) + this.setState({ + clipboard: uri + }) + } catch (e) { + console.log(e) + } + }) + } + + onPasteFromClipboard = () => { + this.setState({ uri: this.state.clipboard }, this.onSubmit) + } + onSubmit = () => { + this.props.dispatch(toggleAddressModal()) + this.props.dispatch(processURI(this.state.uri)) + Actions.sendConfirmation() + } + onCancel = () => { + this.props.dispatch(toggleAddressModal()) + } + + onChangeText = (uri) => { + this.setState({ uri }) + } + + render () { + const icon = + + const copyMessage = sprintf(strings.enUS['string_paste_address'], this.state.clipboard) + const middle = + + const bottom = + + return ( + + ) + } +} +export const WalletAddressModalConnect = connect(state => { + const walletId = UI_SELECTORS.getSelectedWalletId(state) + const coreWallet = CORE_SELECTORS.getWallet(state, walletId) + + return { + coreWallet, + addressModalVisible: state.ui.scenes.scan.addressModalVisible + } +})(WalletAddressModal) diff --git a/src/modules/UI/scenes/Scan/components/index.js b/src/modules/UI/scenes/Scan/components/index.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/modules/UI/scenes/SendConfirmation/SendConfirmation.ui.js b/src/modules/UI/scenes/SendConfirmation/SendConfirmation.ui.js index 6895df40489..2dce1066512 100644 --- a/src/modules/UI/scenes/SendConfirmation/SendConfirmation.ui.js +++ b/src/modules/UI/scenes/SendConfirmation/SendConfirmation.ui.js @@ -12,7 +12,7 @@ import FlipInput from '../../components/FlipInput/index.js' import Recipient from '../../components/Recipient/index.js' import ABSlider from '../../components/Slider/index.js' -import { getCryptoFromFiat, getFiatFromCrypto, border as b } from '../../../utils.js' +import { getCryptoFromFiat, getFiatFromCrypto, border } from '../../../utils.js' import LinearGradient from 'react-native-linear-gradient' import * as CORE_SELECTORS from '../../../Core/selectors.js' @@ -20,9 +20,12 @@ import * as UI_SELECTORS from '../../selectors.js' import * as SETTINGS_SELECTORS from '../../Settings/selectors.js' import { + updateCryptoAmountRequest, + useMaxCryptoAmount, + signBroadcastAndSave, + updateAmountSatoshiRequest, updateMaxSatoshiRequest, - signBroadcastAndSave, useMaxSatoshi, updateSpendPending } from './action.js' @@ -33,15 +36,13 @@ class SendConfirmation extends Component { this.state = { keyboardVisible: false } - this.props.dispatch(updateAmountSatoshiRequest(this.props.amountSatoshi || 0)) + this.props.dispatch(updateAmountSatoshiRequest(this.props.cryptoAmount || 0)) } + _onFocus = () => this.setState({keyboardVisible: true}) + _onBlur = () => this.setState({keyboardVisible: false}) - _onFocus = () => { - this.setState({keyboardVisible: true}) - } - - _onBlur = () => { - this.setState({keyboardVisible: false}) + componentDidMount () { + this.processURI(uri) } render () { @@ -55,28 +56,27 @@ class SendConfirmation extends Component { + colors={['#3b7adb', '#2b569a']}> - + + - + {this.props.inputCurrencySelected === 'crypto' ? ( {this.props.sendConfirmation.pending && - + } - + ) @@ -144,30 +144,30 @@ class SendConfirmation extends Component { this.props.useMaxSatoshi() } - onCryptoInputChange = amountSatoshi => { + onCryptoInputChange = cryptoAmount => { console.log('in onCryptoInputChange') - this.props.updateAmountSatoshi(parseInt(amountSatoshi)) + this.props.updateAmountSatoshi(parseInt(cryptoAmount)) } - onFiatInputChange = (amountFiat) => { + onFiatInputChange = (fiatAmount) => { console.log('in onFiatInputChange') - const amountSatoshi = getCryptoFromFiat(amountFiat, this.props.fiatPerCrypto) - this.props.updateAmountSatoshi(amountSatoshi) + const cryptoAmount = getCryptoFromFiat(fiatAmount, this.props.fiatPerCrypto) + this.props.updateAmountSatoshi(cryptoAmount) } - getFeeInFiat = feeSatoshi => { + getFiatFee = cryptoFee => { const fiatPerCrypto = this.props.fiatPerCrypto - const feeFiat = getFiatFromCrypto(feeSatoshi, fiatPerCrypto) + const feeFiat = getFiatFromCrypto(cryptoFee, fiatPerCrypto) return feeFiat } - getAmountFiat = amountSatoshi => { - console.log('in getAmountFiat') + getFiatAmount = cryptoAmount => { + console.log('in getFiatAmount') const fiatPerCrypto = this.props.fiatPerCrypto - const amountFiat = getFiatFromCrypto(amountSatoshi, fiatPerCrypto).toFixed(2) // also need opposite + const fiatAmount = getFiatFromCrypto(cryptoAmount, fiatPerCrypto).toFixed(2) // also need opposite - return amountFiat + return fiatAmount } } @@ -191,22 +191,22 @@ const mapStateToProps = state => { return { sendConfirmation: state.ui.scenes.sendConfirmation, - amountSatoshi: state.ui.scenes.sendConfirmation.amountSatoshi, - maxSatoshi: state.ui.wallets.byId[state.ui.wallets.selectedWalletId].balance, + cryptoAmount: state.ui.scenes.sendConfirmation.cryptoAmount, + maxCryptoAmount: state.ui.wallets.byId[state.ui.wallets.selectedWalletId].balance, wallet, - feeSatoshi: state.ui.scenes.sendConfirmation.feeSatoshi, + cryptoFee: state.ui.scenes.sendConfirmation.cryptoFee, fiatPerCrypto, cryptoPerFiat, inputCurrencySelected: state.ui.scenes.sendConfirmation.inputCurrencySelected, publicAddress: state.ui.scenes.sendConfirmation.publicAddress, - spendInfo: state.ui.scenes.sendConfirmation.spendInfo, transaction: state.ui.scenes.sendConfirmation.transaction, inputCurrencyDenom, fiatCurrencyCode } } const mapDispatchToProps = (dispatch) => ({ - updateAmountSatoshi: amountSatoshi => dispatch(updateAmountSatoshiRequest(amountSatoshi)), + updateCryptoAmount: cryptoAmount => dispatch(updateCryptoAmountRequest(cryptoAmount)), + updateAmountSatoshi: cryptoAmount => dispatch(updateAmountSatoshiRequest(cryptoAmount)), signBroadcastAndSave: transaction => dispatch(signBroadcastAndSave(transaction)), updateMaxSatoshi: () => dispatch(updateMaxSatoshiRequest()), useMaxSatoshi: () => dispatch(useMaxSatoshi()) diff --git a/src/modules/UI/scenes/SendConfirmation/action.js b/src/modules/UI/scenes/SendConfirmation/action.js index 5b964b67820..dd8f9469368 100644 --- a/src/modules/UI/scenes/SendConfirmation/action.js +++ b/src/modules/UI/scenes/SendConfirmation/action.js @@ -1,53 +1,53 @@ -export const UPDATE_AMOUNT_SATOSHI = 'UPDATE_AMOUNT_SATOSHI' -export const UPDATE_AMOUNT_FIAT = 'UPDATE_AMOUNT_FIAT' -export const UPDATE_FIAT_PER_CRYPTO = 'UPDATE_FIAT_PER_CRYPTO' -export const UPDATE_INPUT_CURRENCY_SELECTED = 'UPDATE_INPUT_CURRENCY_SELECTED' -export const UPDATE_LABEL = 'UPDATE_LABEL' -export const UPDATE_MAX_AVAILABLE_TO_SPEND_IN_CRYPTO = 'UPDATE_MAX_AVAILABLE_TO_SPEND_IN_CRYPTO' -export const ENABLE_SLIDER = 'ENABLE_SLIDER' -export const UPDATE_DRAFT_STATUS = 'UPDATE_DRAFT_STATUS' -export const UPDATE_IS_KEYBOARD_VISIBLE = 'UPDATE_IS_KEYBOARD_VISIBLE' -export const UPDATE_URI_SUCCESS = 'UPDATE_URI_SUCCESS' -export const UPDATE_TRANSACTION = 'UPDATE_TRANSACTION' -export const UPDATE_FEE = 'UPDATE_FEE' -export const UPDATE_MAX_SATOSHI = 'UPDATE_MAX_SATOSHI' -export const UPDATE_SPEND_PENDING = 'UPDATE_SPEND_PENDING' -export const UPDATE_SPEND_SUFFICIENT_FUNDS = 'UPDATE_SPEND_SUFFICIENT_FUNDS' - -export const PROCESS_URI = 'PROCESS_URI' -export const UPDATE_PARSED_URI = 'UPDATE_PARSED_URI' - -export const UPDATE_WALLET_TRANSFER = 'UPDATE_WALLET_TRANSFER' -export const UPDATE_PUBLIC_ADDRESS = 'UPDATE_PUBLIC_ADDRESS' -export const UPDATE_SPEND_INFO = 'UPDATE_SPEND_INFO' -export const RESET = 'RESET' +const PREFIX = 'UI/SendConfimation/' +export const UPDATE_AMOUNT_SATOSHI = PREFIX + 'UPDATE_AMOUNT_SATOSHI' +export const UPDATE_AMOUNT_FIAT = PREFIX + 'UPDATE_AMOUNT_FIAT' +export const UPDATE_FIAT_PER_CRYPTO = PREFIX + 'UPDATE_FIAT_PER_CRYPTO' +export const UPDATE_INPUT_CURRENCY_SELECTED = PREFIX + 'UPDATE_INPUT_CURRENCY_SELECTED' +export const UPDATE_LABEL = PREFIX + 'UPDATE_LABEL' +export const UPDATE_MAX_AVAILABLE_TO_SPEND_IN_CRYPTO = PREFIX + 'UPDATE_MAX_AVAILABLE_TO_SPEND_IN_CRYPTO' +export const ENABLE_SLIDER = PREFIX + 'ENABLE_SLIDER' +export const UPDATE_DRAFT_STATUS = PREFIX + 'UPDATE_DRAFT_STATUS' +export const UPDATE_IS_KEYBOARD_VISIBLE = PREFIX + 'UPDATE_IS_KEYBOARD_VISIBLE' +export const UPDATE_FEE = PREFIX + 'UPDATE_FEE' +export const UPDATE_MAX_SATOSHI = PREFIX + 'UPDATE_MAX_SATOSHI' +export const UPDATE_SPEND_PENDING = PREFIX + 'UPDATE_SPEND_PENDING' +export const UPDATE_SPEND_SUFFICIENT_FUNDS = PREFIX + 'UPDATE_SPEND_SUFFICIENT_FUNDS' + +export const UPDATE_WALLET_TRANSFER = PREFIX + 'UPDATE_WALLET_TRANSFER' +export const UPDATE_PUBLIC_ADDRESS = PREFIX + 'UPDATE_PUBLIC_ADDRESS' +export const UPDATE_SPEND_INFO = PREFIX + 'UPDATE_SPEND_INFO' +export const RESET = PREFIX + 'RESET' + +export const UPDATE_CRYPTO_AMOUNT_REQUEST = PREFIX + 'UPDATE_CRYPTO_AMOUNT_REQUEST' +export const USE_MAX_CRYPTO_AMOUNT = PREFIX + 'USE_MAX_CRYPTO_AMOUNT' +export const UPDATE_PARSED_URI = PREFIX + 'UPDATE_PARSED_URI' +export const UPDATE_TRANSACTION = PREFIX + 'UPDATE_TRANSACTION' import { Actions } from 'react-native-router-flux' import { openABAlert } from '../../components/ABAlert/action' import * as CORE_SELECTORS from '../../../Core/selectors.js' import * as UI_SELECTORS from '../../../UI/selectors.js' +import * as SETTINGS_SELECTORS from '../../Settings/selectors.js' import * as WALLET_API from '../../../Core/Wallets/api.js' +import { convertDenominationToNative } from '../../../utils.js' -export const updateAmountSatoshiRequest = (amountSatoshiString) => { +export const updateCryptoAmountRequest = (cryptoAmountInDenomination: string = '0') => { return (dispatch, getState) => { - const amountSatoshi = parseFloat(amountSatoshiString) - dispatch(updateAmountSatoshi(amountSatoshi)) - if (amountSatoshi === 0) return + if (parseFloat(cryptoAmountInDenomination) === 0) return const state = getState() const selectedWalletId = UI_SELECTORS.getSelectedWalletId(state) const wallet = CORE_SELECTORS.getWallet(state, selectedWalletId) const currencyCode = UI_SELECTORS.getSelectedCurrencyCode(state) + const nativeToDenominationRatio = SETTINGS_SELECTORS.getNativeToDenominationRatio(state, currencyCode) + const nativeAmount = convertDenominationToNative(nativeToDenominationRatio, cryptoAmountInDenomination) + const publicAddress = state.ui.scenes.sendConfirmation.publicAddress - const { publicAddress } = state.ui.scenes.sendConfirmation - const spendInfo = makeSpendInfo({ amountSatoshi, publicAddress, currencyCode }) + const spendInfo = makeSpendInfo({ nativeAmount, publicAddress, currencyCode }) WALLET_API.makeSpend(wallet, spendInfo) .then(transaction => { - const { providerFee = 0, networkFee = 0 } = transaction - const feeTotal = providerFee + networkFee dispatch(updateTransaction(transaction)) - dispatch(updateFee(feeTotal)) dispatch(updateSpendSufficientFunds(null)) }) .catch(e => { @@ -108,7 +108,7 @@ export const updateDraftStatus = draftStatus => { } } -export const updateTransaction = transaction => { +export const updateTransaction = (transaction) => { return { type: UPDATE_TRANSACTION, data: { transaction } @@ -180,21 +180,9 @@ export const useMaxSatoshi = () => { } } -export const updateSpendInfo = spendInfo => { - return { - type: UPDATE_SPEND_INFO, - data: { spendInfo } - } -} - export const updateWalletTransfer = (wallet) => { return (dispatch) => { - const spendInfo = makeSpendInfo({ - wallet - }) - dispatch(updateLabel(wallet.name)) - dispatch(updateSpendInfo(spendInfo)) } } @@ -217,28 +205,39 @@ export const processURI = (uri) => { const state = getState() const walletId = UI_SELECTORS.getSelectedWalletId(state) const wallet = CORE_SELECTORS.getWallet(state, walletId) + try { + const parsedURI = WALLET_API.parseURI(wallet, uri) + dispatch(updateParsedURI(parsedURI)) + const { publicAddress, - amountSatoshi, + nativeAmount, metadata - } = WALLET_API.parseURI(wallet, uri) + } = parsedURI const currencyCode = UI_SELECTORS.getSelectedCurrencyCode(state) const spendInfo = makeSpendInfo({ publicAddress, - amountSatoshi, + nativeAmount, metadata, currencyCode }) - dispatch(updateSpendInfo(spendInfo)) - dispatch(updatePublicAddress(publicAddress)) + return wallet.makeSpend(spendInfo).then(transaction => { + dispatch(updateTransaction(transaction)) + }) } catch (e) { console.log(e) } } } +export const updateParsedURI = (parsedURI) => { + return { + type: UPDATE_PARSED_URI, + data: { parsedURI } + } +} export const updateLabel = label => { return { type: UPDATE_LABEL, @@ -253,8 +252,8 @@ export const reset = () => { } } -const makeSpendInfo = ({ amountSatoshi = 0, publicAddress = '', currencyCode = '', wallet, metadata = {} }) => { - const spendTargets = [{ wallet, publicAddress, amountSatoshi }] +const makeSpendInfo = ({ nativeAmount = '0', publicAddress = '', currencyCode = '', wallet, metadata = {} }) => { + const spendTargets = [{ wallet, publicAddress, nativeAmount }] const spendInfo = { currencyCode, metadata, diff --git a/src/modules/UI/scenes/SendConfirmation/reducer.js b/src/modules/UI/scenes/SendConfirmation/reducer.js index 0f799102136..34bd2d9a503 100644 --- a/src/modules/UI/scenes/SendConfirmation/reducer.js +++ b/src/modules/UI/scenes/SendConfirmation/reducer.js @@ -1,19 +1,20 @@ import * as ACTION from './action' const initialState = { - amountSatoshi: 0, - fiatPerCrypto: 0, + transaction: {}, + parsedURI: {}, + + displayAmount: 0, publicAddress: '', + feeSatoshi: 0, label: '', + inputCurrencySelected: 'fiat', maxSatoshi: 0, isPinEnabled: false, isSliderLocked: false, draftStatus: 'under', isKeyboardVisible: false, - feeSatoshi: 0, - transaction: {}, - spendInfo: {}, pending: false, mode: null } @@ -21,29 +22,27 @@ const initialState = { const sendConfirmation = (state = initialState, action) => { const { type, data = {} } = action switch (type) { - case ACTION.UPDATE_AMOUNT_SATOSHI: - const { amountSatoshi } = data - return { - ...state, - amountSatoshi - } - case ACTION.UPDATE_FIAT_PER_CRYPTO: - const { fiatPerCrypto } = data + case ACTION.UPDATE_TRANSACTION: + const transaction = data.transaction + const networkFee = transaction.networkFee return { ...state, - fiatPerCrypto + transaction, + networkFee } - case ACTION.UPDATE_PUBLIC_ADDRESS: - const { publicAddress } = data + case ACTION.UPDATE_PARSED_URI: + const { parsedURI = {} } = data + const publicAddress = parsedURI.publicAddress return { ...state, + parsedURI, publicAddress } - case ACTION.UPDATE_LABEL: - const { label } = data + case ACTION.UPDATE_DISPLAY_AMOUNT: + const { displayAmount } = data return { ...state, - label + displayAmount } case ACTION.UPDATE_INPUT_CURRENCY_SELECTED: const { inputCurrencySelected } = data @@ -61,8 +60,7 @@ const sendConfirmation = (state = initialState, action) => { const { maxSatoshi } = data return { ...state, - maxSatoshi, - amountSatoshi: maxSatoshi + maxSatoshi } } case ACTION.UNLOCK_SLIDER: @@ -83,24 +81,6 @@ const sendConfirmation = (state = initialState, action) => { ...state, isKeyboardVisible } - case ACTION.UPDATE_FEE: - const { feeSatoshi } = data - return { - ...state, - feeSatoshi - } - case ACTION.UPDATE_TRANSACTION: - const { transaction = {} } = data - return { - ...state, - transaction - } - case ACTION.UPDATE_SPEND_INFO: - const { spendInfo = {} } = data - return { - ...state, - spendInfo - } case ACTION.UPDATE_SPEND_PENDING: const { pending } = data return { diff --git a/src/modules/UI/selectors.js b/src/modules/UI/selectors.js index 7a7d9456f77..82682b92d77 100644 --- a/src/modules/UI/selectors.js +++ b/src/modules/UI/selectors.js @@ -3,7 +3,7 @@ export const getWallets = (state) => { return wallets } -export const getWallet = (state, walletId) => { +export const getWallet = (state, walletId: string) => { const wallets = getWallets(state) const wallet = wallets[walletId] return wallet diff --git a/src/modules/utils.js b/src/modules/utils.js index 59858d3b942..1ad5cb384db 100644 --- a/src/modules/utils.js +++ b/src/modules/utils.js @@ -1,4 +1,5 @@ import borderColors from '../theme/variables/css3Colors' +import { divf, mulf } from 'biggystring' export const cutOffText = (str, lng) => { if (str.length >= lng) { @@ -8,10 +9,6 @@ export const cutOffText = (str, lng) => { } } -/* export const cuttMiddleText = (str, lng1, lng2)=> { - // for later insertion -} */ - export const findDenominationSymbol = (denoms, value) => { console.log('in findDenominationSymbol, denoms is: ', denoms, ' , and value is : ', value) for (const v of denoms) { @@ -21,44 +18,44 @@ export const findDenominationSymbol = (denoms, value) => { } } -const getFiatFromCrypto = (crypto, fiatPerCrypto) => { +export const getFiatFromCrypto = (crypto, fiatPerCrypto) => { const fiatFromCrypto = (crypto * fiatPerCrypto) return fiatFromCrypto } -const getCryptoFromFiat = (fiat, fiatPerCrypto) => { +export const getCryptoFromFiat = (fiat, fiatPerCrypto) => { const cryptoFromFiat = (fiat / fiatPerCrypto) return parseFloat(cryptoFromFiat.toFixed(5)) } -const sanitizeInput = (input) => { +export const sanitizeInput = (input) => { const numbers = /\d*[.]?\d*/ const sanitizedInput = input.toString().match(numbers)[0] return sanitizedInput } -const devStyle = { +export const devStyle = { borderColor: 'red', borderWidth: 1, backgroundColor: 'yellow' } -const logInfo = (msg) => { +export const logInfo = (msg: string) => { console.log('%c ' + msg, 'background: grey; font-weight: bold; display: block;') } -const logWarning = (msg) => { +export const logWarning = (msg: string) => { console.log('%c ' + msg, 'background: yellow; font-weight: bold; display: block;') } -const logError = (msg) => { +export const logError = (msg: string) => { console.log('%c ' + msg, 'background: red; font-weight: bold; display: block;') } -const border = (color) => { +export const border = (color: string) => { let borderColor = color || getRandomColor() return { borderColor: borderColor, @@ -66,17 +63,48 @@ const border = (color) => { } } -const getRandomColor = () => { +export const getRandomColor = () => { return borderColors[Math.floor(Math.random() * borderColors.length)] } -export { - getFiatFromCrypto, - getCryptoFromFiat, - sanitizeInput, - devStyle, - logInfo, - logError, - logWarning, - border +// Used to convert outputs form core to amounts ready for display +export const convertNativeToDenomination = (nativeToDenominationRatio: string) => { + return (nativeAmount: string): string => { + return divf(nativeAmount, nativeToDenominationRatio).toString() + } +} + +// Used to convert amounts from display to core inputs +export const convertDenominationToNative = (nativeToDenominationRatio: string) => { + return (denominationAmount: string): string => { + return mulf(denominationAmount, nativeToDenominationRatio) + } +} + +// Used to convert exchange output to amounts ready for display +export const convertBaseToDenomination = (denominationToBaseRatio: string) => { + return (baseAmount: number): string => { + return mulf(baseAmount, denominationToBaseRatio) + } +} + +// Used to convert amounts from display to exchange inputs +export const convertDenominationToBase = (denominationToBaseRatio: string) => { + return (denominationAmount: string): number => { + return divf(denominationAmount, denominationToBaseRatio) + } +} + +export const convertBaseToBase = (ratio: number): number => { + return (sourceBaseAmount: number): number => { + return sourceBaseAmount * ratio + } +} + +// Used to get the ratio used for converting a denominationAmount into a +// baseAmount when using the currency exchange +export const deriveDenominationToBaseRatio = (baseNativeToDenominationRatio: string) => { + return (denominationNativeToDenominationRatio: string): number => { + return divf(denominationNativeToDenominationRatio, baseNativeToDenominationRatio) + } }