Full Code of Thinkmill/reacteu-app for AI

master 415a2106635a cached
1101 files
7.0 MB
1.9M tokens
3481 symbols
1 requests
Download .txt
Showing preview only (7,868K chars total). Download the full file or copy to clipboard to get everything.
Repository: Thinkmill/reacteu-app
Branch: master
Commit: 415a2106635a
Files: 1101
Total size: 7.0 MB

Directory structure:
gitextract__8kjs166/

├── .gitignore
├── LICENSE
├── README.md
├── config.xml
├── gulpfile.js
├── package.json
├── plugins/
│   ├── android.json
│   ├── code-push/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── script/
│   │   │   ├── acquisition-sdk.js
│   │   │   ├── index.js
│   │   │   ├── management-sdk.js
│   │   │   └── types.js
│   │   └── test/
│   │       ├── acquisition-rest-mock.js
│   │       ├── acquisition-sdk.js
│   │       ├── management-sdk.js
│   │       └── superagent-mock-config.js
│   ├── cordova-plugin-appavailability/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── AppAvailability.java
│   │   │   └── ios/
│   │   │       ├── AppAvailability.h
│   │   │       └── AppAvailability.m
│   │   └── www/
│   │       └── AppAvailability.js
│   ├── cordova-plugin-code-push/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE.md
│   │   ├── bin/
│   │   │   └── www/
│   │   │       ├── codePush.js
│   │   │       ├── codePushUtil.js
│   │   │       ├── fileUtil.js
│   │   │       ├── httpRequester.js
│   │   │       ├── installMode.js
│   │   │       ├── localPackage.js
│   │   │       ├── nativeAppInfo.js
│   │   │       ├── package.js
│   │   │       ├── remotePackage.js
│   │   │       ├── sdk.js
│   │   │       └── syncStatus.js
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── samples/
│   │   │   ├── advanced/
│   │   │   │   ├── README.md
│   │   │   │   ├── config.xml
│   │   │   │   └── www/
│   │   │   │       ├── css/
│   │   │   │       │   └── index.css
│   │   │   │       ├── index.html
│   │   │   │       └── js/
│   │   │   │           └── index.js
│   │   │   └── basic/
│   │   │       ├── README.md
│   │   │       ├── config.xml
│   │   │       └── www/
│   │   │           ├── css/
│   │   │           │   └── index.css
│   │   │           ├── index.html
│   │   │           └── js/
│   │   │               └── index.js
│   │   └── src/
│   │       ├── android/
│   │       │   ├── CodePush.java
│   │       │   ├── CodePushPackageManager.java
│   │       │   ├── CodePushPackageMetadata.java
│   │       │   ├── CodePushPreferences.java
│   │       │   ├── CodePushReportingManager.java
│   │       │   ├── InstallMode.java
│   │       │   ├── InstallOptions.java
│   │       │   ├── UpdateHashUtils.java
│   │       │   ├── Utilities.java
│   │       │   └── build-extras.gradle
│   │       └── ios/
│   │           ├── CodePush.h
│   │           ├── CodePush.m
│   │           ├── CodePushPackageManager.h
│   │           ├── CodePushPackageManager.m
│   │           ├── CodePushPackageMetadata.h
│   │           ├── CodePushPackageMetadata.m
│   │           ├── CodePushReportingManager.h
│   │           ├── CodePushReportingManager.m
│   │           ├── InstallMode.h
│   │           ├── InstallOptions.h
│   │           ├── InstallOptions.m
│   │           ├── UpdateHashUtils.h
│   │           ├── UpdateHashUtils.m
│   │           ├── Utilities.h
│   │           └── Utilities.m
│   ├── cordova-plugin-compat/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   └── src/
│   │       └── android/
│   │           └── PermissionHelper.java
│   ├── cordova-plugin-device/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Device.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVDevice.h
│   │   │   │   └── CDVDevice.m
│   │   │   ├── osx/
│   │   │   │   ├── CDVDevice.h
│   │   │   │   └── CDVDevice.m
│   │   │   ├── tizen/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── device.cpp
│   │   │   │   ├── device.h
│   │   │   │   └── device.js
│   │   │   ├── windows/
│   │   │   │   └── DeviceProxy.js
│   │   │   └── wp/
│   │   │       └── Device.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       └── device.js
│   ├── cordova-plugin-dialogs/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Notification.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── firefoxos/
│   │   │   │   └── notification.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVNotification.h
│   │   │   │   └── CDVNotification.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── notification.cpp
│   │   │   │   ├── notification.h
│   │   │   │   └── notification.qml
│   │   │   ├── windows/
│   │   │   │   └── NotificationProxy.js
│   │   │   └── wp/
│   │   │       ├── Notification.cs
│   │   │       ├── NotificationBox.xaml
│   │   │       └── NotificationBox.xaml.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── android/
│   │       │   └── notification.js
│   │       ├── blackberry10/
│   │       │   └── beep.js
│   │       ├── browser/
│   │       │   └── notification.js
│   │       ├── firefoxos/
│   │       │   └── notification.css
│   │       └── notification.js
│   ├── cordova-plugin-file/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── plugins.md
│   │   │   ├── ru/
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       ├── index.md
│   │   │       └── plugins.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   ├── AssetFilesystem.java
│   │   │   │   ├── ContentFilesystem.java
│   │   │   │   ├── DirectoryManager.java
│   │   │   │   ├── EncodingException.java
│   │   │   │   ├── FileExistsException.java
│   │   │   │   ├── FileUtils.java
│   │   │   │   ├── Filesystem.java
│   │   │   │   ├── InvalidModificationException.java
│   │   │   │   ├── LocalFilesystem.java
│   │   │   │   ├── LocalFilesystemURL.java
│   │   │   │   ├── NoModificationAllowedException.java
│   │   │   │   ├── PendingRequests.java
│   │   │   │   ├── TypeMismatchException.java
│   │   │   │   └── build-extras.gradle
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── FileProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── FileProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVAssetLibraryFilesystem.h
│   │   │   │   ├── CDVAssetLibraryFilesystem.m
│   │   │   │   ├── CDVFile.h
│   │   │   │   ├── CDVFile.m
│   │   │   │   ├── CDVLocalFilesystem.h
│   │   │   │   └── CDVLocalFilesystem.m
│   │   │   ├── osx/
│   │   │   │   ├── CDVFile.h
│   │   │   │   ├── CDVFile.m
│   │   │   │   ├── CDVLocalFilesystem.h
│   │   │   │   └── CDVLocalFilesystem.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── file.cpp
│   │   │   │   └── file.h
│   │   │   ├── windows/
│   │   │   │   └── FileProxy.js
│   │   │   └── wp/
│   │   │       └── File.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   ├── src/
│   │   │   │   └── android/
│   │   │   │       └── TestContentProvider.java
│   │   │   ├── tests.js
│   │   │   └── www/
│   │   │       └── fixtures/
│   │   │           └── asset-test/
│   │   │               └── asset-test.txt
│   │   └── www/
│   │       ├── DirectoryEntry.js
│   │       ├── DirectoryReader.js
│   │       ├── Entry.js
│   │       ├── File.js
│   │       ├── FileEntry.js
│   │       ├── FileError.js
│   │       ├── FileReader.js
│   │       ├── FileSystem.js
│   │       ├── FileUploadOptions.js
│   │       ├── FileUploadResult.js
│   │       ├── FileWriter.js
│   │       ├── Flags.js
│   │       ├── LocalFileSystem.js
│   │       ├── Metadata.js
│   │       ├── ProgressEvent.js
│   │       ├── android/
│   │       │   └── FileSystem.js
│   │       ├── blackberry10/
│   │       │   ├── .jshintrc
│   │       │   ├── FileProxy.js
│   │       │   ├── FileSystem.js
│   │       │   ├── copyTo.js
│   │       │   ├── createEntryFromNative.js
│   │       │   ├── getDirectory.js
│   │       │   ├── getFile.js
│   │       │   ├── getFileMetadata.js
│   │       │   ├── getMetadata.js
│   │       │   ├── getParent.js
│   │       │   ├── info.js
│   │       │   ├── moveTo.js
│   │       │   ├── readAsArrayBuffer.js
│   │       │   ├── readAsBinaryString.js
│   │       │   ├── readAsDataURL.js
│   │       │   ├── readAsText.js
│   │       │   ├── readEntries.js
│   │       │   ├── remove.js
│   │       │   ├── removeRecursively.js
│   │       │   ├── requestAllFileSystems.js
│   │       │   ├── requestAnimationFrame.js
│   │       │   ├── requestFileSystem.js
│   │       │   ├── resolveLocalFileSystemURI.js
│   │       │   ├── setMetadata.js
│   │       │   ├── truncate.js
│   │       │   └── write.js
│   │       ├── browser/
│   │       │   ├── FileSystem.js
│   │       │   ├── Preparing.js
│   │       │   └── isChrome.js
│   │       ├── fileSystemPaths.js
│   │       ├── fileSystems-roots.js
│   │       ├── fileSystems.js
│   │       ├── firefoxos/
│   │       │   └── FileSystem.js
│   │       ├── ios/
│   │       │   └── FileSystem.js
│   │       ├── osx/
│   │       │   └── FileSystem.js
│   │       ├── requestFileSystem.js
│   │       ├── resolveLocalFileSystemURI.js
│   │       ├── ubuntu/
│   │       │   ├── FileSystem.js
│   │       │   ├── FileWriter.js
│   │       │   └── fileSystems-roots.js
│   │       └── wp/
│   │           └── FileUploadOptions.js
│   ├── cordova-plugin-file-transfer/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── amazon/
│   │   │   │   └── FileTransfer.java
│   │   │   ├── android/
│   │   │   │   ├── FileProgressResult.java
│   │   │   │   ├── FileTransfer.java
│   │   │   │   └── FileUploadResult.java
│   │   │   ├── ios/
│   │   │   │   ├── CDVFileTransfer.h
│   │   │   │   └── CDVFileTransfer.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── file-transfer.cpp
│   │   │   │   └── file-transfer.h
│   │   │   ├── windows/
│   │   │   │   └── FileTransferProxy.js
│   │   │   └── wp/
│   │   │       └── FileTransfer.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── FileTransfer.js
│   │       ├── FileTransferError.js
│   │       ├── blackberry10/
│   │       │   ├── .jshintrc
│   │       │   ├── FileTransfer.js
│   │       │   ├── FileTransferProxy.js
│   │       │   └── xhrFileTransfer.js
│   │       ├── browser/
│   │       │   └── FileTransfer.js
│   │       ├── firefoxos/
│   │       │   └── FileTransferProxy.js
│   │       └── wp7/
│   │           └── base64.js
│   ├── cordova-plugin-inappbrowser/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── amazon/
│   │   │   │   ├── InAppBrowser.java
│   │   │   │   └── InAppChromeClient.java
│   │   │   ├── android/
│   │   │   │   ├── InAppBrowser.java
│   │   │   │   ├── InAppBrowserDialog.java
│   │   │   │   └── InAppChromeClient.java
│   │   │   ├── blackberry10/
│   │   │   │   ├── README.md
│   │   │   │   └── doc/
│   │   │   │       ├── de/
│   │   │   │       │   └── README.md
│   │   │   │       ├── es/
│   │   │   │       │   └── README.md
│   │   │   │       ├── fr/
│   │   │   │       │   └── README.md
│   │   │   │       ├── it/
│   │   │   │       │   └── README.md
│   │   │   │       ├── ja/
│   │   │   │       │   └── README.md
│   │   │   │       ├── ko/
│   │   │   │       │   └── README.md
│   │   │   │       ├── pl/
│   │   │   │       │   └── README.md
│   │   │   │       └── zh/
│   │   │   │           └── README.md
│   │   │   ├── browser/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVInAppBrowser.h
│   │   │   │   └── CDVInAppBrowser.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── InAppBrowser.qml
│   │   │   │   ├── InAppBrowser_escapeScript.js
│   │   │   │   ├── inappbrowser.cpp
│   │   │   │   └── inappbrowser.h
│   │   │   ├── windows/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   └── wp/
│   │   │       └── InAppBrowser.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   ├── resources/
│   │   │   │   ├── inject.css
│   │   │   │   ├── inject.html
│   │   │   │   ├── inject.js
│   │   │   │   ├── local.html
│   │   │   │   └── video.html
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── inappbrowser.css
│   │       ├── inappbrowser.js
│   │       └── windows8/
│   │           └── InAppBrowserProxy.js
│   ├── cordova-plugin-splashscreen/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── SplashScreen.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── SplashScreenProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVSplashScreen.h
│   │   │   │   ├── CDVSplashScreen.m
│   │   │   │   ├── CDVViewController+SplashScreen.h
│   │   │   │   └── CDVViewController+SplashScreen.m
│   │   │   ├── tizen/
│   │   │   │   └── SplashScreenProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── splashscreen.cpp
│   │   │   │   └── splashscreen.h
│   │   │   └── wp/
│   │   │       ├── ResolutionHelper.cs
│   │   │       └── SplashScreen.cs
│   │   ├── tests/
│   │   │   ├── ios/
│   │   │   │   ├── CDVSplashScreenTest/
│   │   │   │   │   ├── .npmignore
│   │   │   │   │   ├── CDVSplashScreenLibTests/
│   │   │   │   │   │   ├── ImageNameTest.m
│   │   │   │   │   │   ├── ImageNameTestDelegates.h
│   │   │   │   │   │   ├── ImageNameTestDelegates.m
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   └── CDVSplashScreenTest.xcodeproj/
│   │   │   │   │       ├── project.pbxproj
│   │   │   │   │       ├── project.xcworkspace/
│   │   │   │   │       │   └── contents.xcworkspacedata
│   │   │   │   │       └── xcshareddata/
│   │   │   │   │           └── xcschemes/
│   │   │   │   │               ├── CDVSplashScreenLib.xcscheme
│   │   │   │   │               └── CDVSplashScreenLibTests.xcscheme
│   │   │   │   ├── CDVSplashScreenTest.xcworkspace/
│   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata/
│   │   │   │   │       └── xcschemes/
│   │   │   │   │           └── CordovaLib.xcscheme
│   │   │   │   ├── README.md
│   │   │   │   ├── doc/
│   │   │   │   │   ├── de/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── es/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── fr/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── it/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── ja/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── ko/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── pl/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   └── zh/
│   │   │   │   │       └── README.md
│   │   │   │   └── package.json
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── splashscreen.js
│   │       └── windows/
│   │           └── SplashScreenProxy.js
│   ├── cordova-plugin-statusbar/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── StatusBar.java
│   │   │   ├── ios/
│   │   │   │   ├── CDVStatusBar.h
│   │   │   │   └── CDVStatusBar.m
│   │   │   ├── windows/
│   │   │   │   └── StatusBarProxy.js
│   │   │   └── wp/
│   │   │       └── StatusBar.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       └── statusbar.js
│   ├── cordova-plugin-vibration/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Vibration.java
│   │   │   ├── blackberry10/
│   │   │   │   ├── index.js
│   │   │   │   └── native/
│   │   │   │       ├── .cproject
│   │   │   │       ├── .project
│   │   │   │       ├── public/
│   │   │   │       │   ├── plugin.cpp
│   │   │   │       │   ├── plugin.h
│   │   │   │       │   ├── tokenizer.cpp
│   │   │   │       │   └── tokenizer.h
│   │   │   │       └── src/
│   │   │   │           ├── vibration_js.cpp
│   │   │   │           └── vibration_js.hpp
│   │   │   ├── firefoxos/
│   │   │   │   └── VibrationProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVVibration.h
│   │   │   │   └── CDVVibration.m
│   │   │   ├── tizen/
│   │   │   │   └── VibrationProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── vibration.cpp
│   │   │   │   └── vibration.h
│   │   │   ├── windows/
│   │   │   │   ├── Vibration/
│   │   │   │   │   ├── .npmignore
│   │   │   │   │   ├── Properties/
│   │   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   │   ├── Vibration.cs
│   │   │   │   │   └── Vibration.csproj
│   │   │   │   └── VibrationProxy.js
│   │   │   └── wp/
│   │   │       └── Vibration.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── blackberry10/
│   │       │   └── vibrate.js
│   │       └── vibration.js
│   ├── cordova-plugin-whitelist/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   └── README.md
│   │   │   ├── es/
│   │   │   │   └── README.md
│   │   │   ├── fr/
│   │   │   │   └── README.md
│   │   │   ├── it/
│   │   │   │   └── README.md
│   │   │   ├── ja/
│   │   │   │   └── README.md
│   │   │   ├── ko/
│   │   │   │   └── README.md
│   │   │   ├── pl/
│   │   │   │   └── README.md
│   │   │   └── zh/
│   │   │       └── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   └── src/
│   │       └── android/
│   │           └── WhitelistPlugin.java
│   ├── cordova-plugin-zip/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Zip.java
│   │   │   └── ios/
│   │   │       ├── Common.h
│   │   │       ├── SSZipArchive.h
│   │   │       ├── SSZipArchive.m
│   │   │       ├── ZipPlugin.h
│   │   │       ├── ZipPlugin.m
│   │   │       ├── aes/
│   │   │       │   ├── aes.h
│   │   │       │   ├── aes_via_ace.h
│   │   │       │   ├── aescrypt.c
│   │   │       │   ├── aeskey.c
│   │   │       │   ├── aesopt.h
│   │   │       │   ├── aestab.c
│   │   │       │   ├── aestab.h
│   │   │       │   ├── brg_endian.h
│   │   │       │   ├── brg_types.h
│   │   │       │   ├── entropy.c
│   │   │       │   ├── entropy.h
│   │   │       │   ├── fileenc.c
│   │   │       │   ├── fileenc.h
│   │   │       │   ├── hmac.c
│   │   │       │   ├── hmac.h
│   │   │       │   ├── prng.c
│   │   │       │   ├── prng.h
│   │   │       │   ├── pwd2key.c
│   │   │       │   ├── pwd2key.h
│   │   │       │   ├── sha1.c
│   │   │       │   └── sha1.h
│   │   │       └── minizip/
│   │   │           ├── crypt.h
│   │   │           ├── ioapi.c
│   │   │           ├── ioapi.h
│   │   │           ├── mztools.c
│   │   │           ├── mztools.h
│   │   │           ├── unzip.c
│   │   │           ├── unzip.h
│   │   │           ├── zip.c
│   │   │           └── zip.h
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── zip.js
│   ├── fetch.json
│   └── phonegap-plugin-barcodescanner/
│       ├── README.md
│       ├── package.json
│       ├── plugin.xml
│       ├── src/
│       │   ├── android/
│       │   │   ├── LibraryProject/
│       │   │   │   ├── .npmignore
│       │   │   │   ├── AndroidManifest.xml
│       │   │   │   ├── ant.properties
│       │   │   │   ├── assets/
│       │   │   │   │   ├── html-de/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-en/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-es/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-fr/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-it/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ja/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ko/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-nl/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-pt/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ru/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-zh-rCN/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-zh-rTW/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   └── style.css
│       │   │   │   ├── proguard-android-optimize.txt
│       │   │   │   ├── project.properties
│       │   │   │   ├── res/
│       │   │   │   │   ├── layout/
│       │   │   │   │   │   ├── bookmark_picker_list_item.xml
│       │   │   │   │   │   ├── capture.xml
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   ├── help.xml
│       │   │   │   │   │   ├── history_list_item.xml
│       │   │   │   │   │   ├── search_book_contents.xml
│       │   │   │   │   │   ├── search_book_contents_header.xml
│       │   │   │   │   │   ├── search_book_contents_list_item.xml
│       │   │   │   │   │   └── share.xml
│       │   │   │   │   ├── layout-land/
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   └── share.xml
│       │   │   │   │   ├── layout-ldpi/
│       │   │   │   │   │   └── capture.xml
│       │   │   │   │   ├── menu/
│       │   │   │   │   │   ├── capture.xml
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   └── history.xml
│       │   │   │   │   ├── raw/
│       │   │   │   │   │   └── beep.ogg
│       │   │   │   │   ├── values/
│       │   │   │   │   │   ├── arrays.xml
│       │   │   │   │   │   ├── colors.xml
│       │   │   │   │   │   ├── dimens.xml
│       │   │   │   │   │   ├── ids.xml
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ar/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-bg/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ca/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-cs/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-da/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-de/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-el/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-es/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-eu/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-fi/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-fr/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-he/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-hi/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-hu/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-id/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-it/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-iw/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ja/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ko/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-nl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-pl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-pt/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ru/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sk/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sv/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-tr/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-zh-rCN/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-zh-rTW/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   └── xml/
│       │   │   │   │       └── preferences.xml
│       │   │   │   └── src/
│       │   │   │       └── com/
│       │   │   │           └── google/
│       │   │   │               └── zxing/
│       │   │   │                   ├── BarcodeFormat.java
│       │   │   │                   ├── Binarizer.java
│       │   │   │                   ├── BinaryBitmap.java
│       │   │   │                   ├── ChecksumException.java
│       │   │   │                   ├── DecodeHintType.java
│       │   │   │                   ├── EncodeHintType.java
│       │   │   │                   ├── FakeR.java
│       │   │   │                   ├── FormatException.java
│       │   │   │                   ├── LuminanceSource.java
│       │   │   │                   ├── MultiFormatReader.java
│       │   │   │                   ├── MultiFormatWriter.java
│       │   │   │                   ├── NotFoundException.java
│       │   │   │                   ├── PlanarYUVLuminanceSource.java
│       │   │   │                   ├── RGBLuminanceSource.java
│       │   │   │                   ├── Reader.java
│       │   │   │                   ├── ReaderException.java
│       │   │   │                   ├── Result.java
│       │   │   │                   ├── ResultMetadataType.java
│       │   │   │                   ├── ResultPoint.java
│       │   │   │                   ├── ResultPointCallback.java
│       │   │   │                   ├── Writer.java
│       │   │   │                   ├── WriterException.java
│       │   │   │                   ├── aztec/
│       │   │   │                   │   ├── AztecDetectorResult.java
│       │   │   │                   │   ├── AztecReader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   └── Decoder.java
│       │   │   │                   │   └── detector/
│       │   │   │                   │       └── Detector.java
│       │   │   │                   ├── client/
│       │   │   │                   │   ├── android/
│       │   │   │                   │   │   ├── BeepManager.java
│       │   │   │                   │   │   ├── CaptureActivity.java
│       │   │   │                   │   │   ├── CaptureActivityHandler.java
│       │   │   │                   │   │   ├── Contents.java
│       │   │   │                   │   │   ├── DecodeFormatManager.java
│       │   │   │                   │   │   ├── DecodeHandler.java
│       │   │   │                   │   │   ├── DecodeThread.java
│       │   │   │                   │   │   ├── FinishListener.java
│       │   │   │                   │   │   ├── HelpActivity.java
│       │   │   │                   │   │   ├── HttpHelper.java
│       │   │   │                   │   │   ├── InactivityTimer.java
│       │   │   │                   │   │   ├── IntentSource.java
│       │   │   │                   │   │   ├── Intents.java
│       │   │   │                   │   │   ├── LocaleManager.java
│       │   │   │                   │   │   ├── PreferencesActivity.java
│       │   │   │                   │   │   ├── ViewfinderResultPointCallback.java
│       │   │   │                   │   │   ├── ViewfinderView.java
│       │   │   │                   │   │   ├── book/
│       │   │   │                   │   │   │   ├── BrowseBookListener.java
│       │   │   │                   │   │   │   ├── SearchBookContentsActivity.java
│       │   │   │                   │   │   │   ├── SearchBookContentsAdapter.java
│       │   │   │                   │   │   │   ├── SearchBookContentsListItem.java
│       │   │   │                   │   │   │   └── SearchBookContentsResult.java
│       │   │   │                   │   │   ├── camera/
│       │   │   │                   │   │   │   ├── AutoFocusManager.java
│       │   │   │                   │   │   │   ├── CameraConfigurationManager.java
│       │   │   │                   │   │   │   ├── CameraManager.java
│       │   │   │                   │   │   │   ├── PreviewCallback.java
│       │   │   │                   │   │   │   ├── exposure/
│       │   │   │                   │   │   │   │   ├── DefaultExposureInterface.java
│       │   │   │                   │   │   │   │   ├── ExposureInterface.java
│       │   │   │                   │   │   │   │   ├── ExposureManager.java
│       │   │   │                   │   │   │   │   └── FroyoExposureInterface.java
│       │   │   │                   │   │   │   └── open/
│       │   │   │                   │   │   │       ├── DefaultOpenCameraInterface.java
│       │   │   │                   │   │   │       ├── GingerbreadOpenCameraInterface.java
│       │   │   │                   │   │   │       ├── OpenCameraInterface.java
│       │   │   │                   │   │   │       └── OpenCameraManager.java
│       │   │   │                   │   │   ├── common/
│       │   │   │                   │   │   │   ├── PlatformSupportManager.java
│       │   │   │                   │   │   │   └── executor/
│       │   │   │                   │   │   │       ├── AsyncTaskExecInterface.java
│       │   │   │                   │   │   │       ├── AsyncTaskExecManager.java
│       │   │   │                   │   │   │       ├── DefaultAsyncTaskExecInterface.java
│       │   │   │                   │   │   │       └── HoneycombAsyncTaskExecInterface.java
│       │   │   │                   │   │   ├── encode/
│       │   │   │                   │   │   │   ├── ContactEncoder.java
│       │   │   │                   │   │   │   ├── EncodeActivity.java
│       │   │   │                   │   │   │   ├── Formatter.java
│       │   │   │                   │   │   │   ├── MECARDContactEncoder.java
│       │   │   │                   │   │   │   ├── QRCodeEncoder.java
│       │   │   │                   │   │   │   └── VCardContactEncoder.java
│       │   │   │                   │   │   ├── history/
│       │   │   │                   │   │   │   ├── DBHelper.java
│       │   │   │                   │   │   │   ├── HistoryActivity.java
│       │   │   │                   │   │   │   ├── HistoryItem.java
│       │   │   │                   │   │   │   ├── HistoryItemAdapter.java
│       │   │   │                   │   │   │   └── HistoryManager.java
│       │   │   │                   │   │   ├── pref/
│       │   │   │                   │   │   │   └── BSPlusPreference.java
│       │   │   │                   │   │   ├── result/
│       │   │   │                   │   │   │   ├── AddressBookResultHandler.java
│       │   │   │                   │   │   │   ├── CalendarResultHandler.java
│       │   │   │                   │   │   │   ├── EmailAddressResultHandler.java
│       │   │   │                   │   │   │   ├── GeoResultHandler.java
│       │   │   │                   │   │   │   ├── ISBNResultHandler.java
│       │   │   │                   │   │   │   ├── ProductResultHandler.java
│       │   │   │                   │   │   │   ├── ResultButtonListener.java
│       │   │   │                   │   │   │   ├── ResultHandler.java
│       │   │   │                   │   │   │   ├── ResultHandlerFactory.java
│       │   │   │                   │   │   │   ├── SMSResultHandler.java
│       │   │   │                   │   │   │   ├── TelResultHandler.java
│       │   │   │                   │   │   │   ├── TextResultHandler.java
│       │   │   │                   │   │   │   ├── URIResultHandler.java
│       │   │   │                   │   │   │   ├── WifiResultHandler.java
│       │   │   │                   │   │   │   └── supplement/
│       │   │   │                   │   │   │       ├── BookResultInfoRetriever.java
│       │   │   │                   │   │   │       ├── ProductResultInfoRetriever.java
│       │   │   │                   │   │   │       ├── SupplementalInfoRetriever.java
│       │   │   │                   │   │   │       ├── TitleRetriever.java
│       │   │   │                   │   │   │       └── URIResultInfoRetriever.java
│       │   │   │                   │   │   ├── share/
│       │   │   │                   │   │   │   ├── AppPickerActivity.java
│       │   │   │                   │   │   │   ├── BookmarkAdapter.java
│       │   │   │                   │   │   │   ├── BookmarkPickerActivity.java
│       │   │   │                   │   │   │   ├── LoadPackagesAsyncTask.java
│       │   │   │                   │   │   │   └── ShareActivity.java
│       │   │   │                   │   │   └── wifi/
│       │   │   │                   │   │       ├── NetworkType.java
│       │   │   │                   │   │       └── WifiConfigManager.java
│       │   │   │                   │   └── result/
│       │   │   │                   │       ├── AbstractDoCoMoResultParser.java
│       │   │   │                   │       ├── AddressBookAUResultParser.java
│       │   │   │                   │       ├── AddressBookDoCoMoResultParser.java
│       │   │   │                   │       ├── AddressBookParsedResult.java
│       │   │   │                   │       ├── BizcardResultParser.java
│       │   │   │                   │       ├── BookmarkDoCoMoResultParser.java
│       │   │   │                   │       ├── CalendarParsedResult.java
│       │   │   │                   │       ├── EmailAddressParsedResult.java
│       │   │   │                   │       ├── EmailAddressResultParser.java
│       │   │   │                   │       ├── EmailDoCoMoResultParser.java
│       │   │   │                   │       ├── ExpandedProductParsedResult.java
│       │   │   │                   │       ├── ExpandedProductResultParser.java
│       │   │   │                   │       ├── GeoParsedResult.java
│       │   │   │                   │       ├── GeoResultParser.java
│       │   │   │                   │       ├── ISBNParsedResult.java
│       │   │   │                   │       ├── ISBNResultParser.java
│       │   │   │                   │       ├── ParsedResult.java
│       │   │   │                   │       ├── ParsedResultType.java
│       │   │   │                   │       ├── ProductParsedResult.java
│       │   │   │                   │       ├── ProductResultParser.java
│       │   │   │                   │       ├── ResultParser.java
│       │   │   │                   │       ├── SMSMMSResultParser.java
│       │   │   │                   │       ├── SMSParsedResult.java
│       │   │   │                   │       ├── SMSTOMMSTOResultParser.java
│       │   │   │                   │       ├── SMTPResultParser.java
│       │   │   │                   │       ├── TelParsedResult.java
│       │   │   │                   │       ├── TelResultParser.java
│       │   │   │                   │       ├── TextParsedResult.java
│       │   │   │                   │       ├── URIParsedResult.java
│       │   │   │                   │       ├── URIResultParser.java
│       │   │   │                   │       ├── URLTOResultParser.java
│       │   │   │                   │       ├── VCardResultParser.java
│       │   │   │                   │       ├── VEventResultParser.java
│       │   │   │                   │       ├── WifiParsedResult.java
│       │   │   │                   │       └── WifiResultParser.java
│       │   │   │                   ├── common/
│       │   │   │                   │   ├── BitArray.java
│       │   │   │                   │   ├── BitMatrix.java
│       │   │   │                   │   ├── BitSource.java
│       │   │   │                   │   ├── CharacterSetECI.java
│       │   │   │                   │   ├── DecoderResult.java
│       │   │   │                   │   ├── DefaultGridSampler.java
│       │   │   │                   │   ├── DetectorResult.java
│       │   │   │                   │   ├── GlobalHistogramBinarizer.java
│       │   │   │                   │   ├── GridSampler.java
│       │   │   │                   │   ├── HybridBinarizer.java
│       │   │   │                   │   ├── PerspectiveTransform.java
│       │   │   │                   │   ├── StringUtils.java
│       │   │   │                   │   ├── detector/
│       │   │   │                   │   │   ├── MathUtils.java
│       │   │   │                   │   │   ├── MonochromeRectangleDetector.java
│       │   │   │                   │   │   └── WhiteRectangleDetector.java
│       │   │   │                   │   └── reedsolomon/
│       │   │   │                   │       ├── GenericGF.java
│       │   │   │                   │       ├── GenericGFPoly.java
│       │   │   │                   │       ├── ReedSolomonDecoder.java
│       │   │   │                   │       ├── ReedSolomonEncoder.java
│       │   │   │                   │       └── ReedSolomonException.java
│       │   │   │                   ├── datamatrix/
│       │   │   │                   │   ├── DataMatrixReader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   ├── BitMatrixParser.java
│       │   │   │                   │   │   ├── DataBlock.java
│       │   │   │                   │   │   ├── DecodedBitStreamParser.java
│       │   │   │                   │   │   ├── Decoder.java
│       │   │   │                   │   │   └── Version.java
│       │   │   │                   │   └── detector/
│       │   │   │                   │       └── Detector.java
│       │   │   │                   ├── maxicode/
│       │   │   │                   │   ├── MaxiCodeReader.java
│       │   │   │                   │   └── decoder/
│       │   │   │                   │       ├── BitMatrixParser.java
│       │   │   │                   │       ├── DecodedBitStreamParser.java
│       │   │   │                   │       └── Decoder.java
│       │   │   │                   ├── multi/
│       │   │   │                   │   ├── ByQuadrantReader.java
│       │   │   │                   │   ├── GenericMultipleBarcodeReader.java
│       │   │   │                   │   ├── MultipleBarcodeReader.java
│       │   │   │                   │   └── qrcode/
│       │   │   │                   │       ├── QRCodeMultiReader.java
│       │   │   │                   │       └── detector/
│       │   │   │                   │           ├── MultiDetector.java
│       │   │   │                   │           └── MultiFinderPatternFinder.java
│       │   │   │                   ├── oned/
│       │   │   │                   │   ├── CodaBarReader.java
│       │   │   │                   │   ├── CodaBarWriter.java
│       │   │   │                   │   ├── Code128Reader.java
│       │   │   │                   │   ├── Code128Writer.java
│       │   │   │                   │   ├── Code39Reader.java
│       │   │   │                   │   ├── Code39Writer.java
│       │   │   │                   │   ├── Code93Reader.java
│       │   │   │                   │   ├── EAN13Reader.java
│       │   │   │                   │   ├── EAN13Writer.java
│       │   │   │                   │   ├── EAN8Reader.java
│       │   │   │                   │   ├── EAN8Writer.java
│       │   │   │                   │   ├── EANManufacturerOrgSupport.java
│       │   │   │                   │   ├── ITFReader.java
│       │   │   │                   │   ├── ITFWriter.java
│       │   │   │                   │   ├── MultiFormatOneDReader.java
│       │   │   │                   │   ├── MultiFormatUPCEANReader.java
│       │   │   │                   │   ├── OneDReader.java
│       │   │   │                   │   ├── OneDimensionalCodeWriter.java
│       │   │   │                   │   ├── UPCAReader.java
│       │   │   │                   │   ├── UPCAWriter.java
│       │   │   │                   │   ├── UPCEANExtension2Support.java
│       │   │   │                   │   ├── UPCEANExtension5Support.java
│       │   │   │                   │   ├── UPCEANExtensionSupport.java
│       │   │   │                   │   ├── UPCEANReader.java
│       │   │   │                   │   ├── UPCEANWriter.java
│       │   │   │                   │   ├── UPCEReader.java
│       │   │   │                   │   └── rss/
│       │   │   │                   │       ├── AbstractRSSReader.java
│       │   │   │                   │       ├── DataCharacter.java
│       │   │   │                   │       ├── FinderPattern.java
│       │   │   │                   │       ├── Pair.java
│       │   │   │                   │       ├── RSS14Reader.java
│       │   │   │                   │       ├── RSSUtils.java
│       │   │   │                   │       └── expanded/
│       │   │   │                   │           ├── BitArrayBuilder.java
│       │   │   │                   │           ├── ExpandedPair.java
│       │   │   │                   │           ├── RSSExpandedReader.java
│       │   │   │                   │           └── decoders/
│       │   │   │                   │               ├── AI013103decoder.java
│       │   │   │                   │               ├── AI01320xDecoder.java
│       │   │   │                   │               ├── AI01392xDecoder.java
│       │   │   │                   │               ├── AI01393xDecoder.java
│       │   │   │                   │               ├── AI013x0x1xDecoder.java
│       │   │   │                   │               ├── AI013x0xDecoder.java
│       │   │   │                   │               ├── AI01AndOtherAIs.java
│       │   │   │                   │               ├── AI01decoder.java
│       │   │   │                   │               ├── AI01weightDecoder.java
│       │   │   │                   │               ├── AbstractExpandedDecoder.java
│       │   │   │                   │               ├── AnyAIDecoder.java
│       │   │   │                   │               ├── BlockParsedResult.java
│       │   │   │                   │               ├── CurrentParsingState.java
│       │   │   │                   │               ├── DecodedChar.java
│       │   │   │                   │               ├── DecodedInformation.java
│       │   │   │                   │               ├── DecodedNumeric.java
│       │   │   │                   │               ├── DecodedObject.java
│       │   │   │                   │               ├── FieldParser.java
│       │   │   │                   │               └── GeneralAppIdDecoder.java
│       │   │   │                   ├── pdf417/
│       │   │   │                   │   ├── PDF417Reader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   ├── BitMatrixParser.java
│       │   │   │                   │   │   ├── DecodedBitStreamParser.java
│       │   │   │                   │   │   ├── Decoder.java
│       │   │   │                   │   │   └── ec/
│       │   │   │                   │   │       ├── ErrorCorrection.java
│       │   │   │                   │   │       ├── ModulusGF.java
│       │   │   │                   │   │       └── ModulusPoly.java
│       │   │   │                   │   ├── detector/
│       │   │   │                   │   │   └── Detector.java
│       │   │   │                   │   └── encoder/
│       │   │   │                   │       ├── BarcodeMatrix.java
│       │   │   │                   │       ├── BarcodeRow.java
│       │   │   │                   │       ├── Compaction.java
│       │   │   │                   │       ├── Dimensions.java
│       │   │   │                   │       ├── PDF417.java
│       │   │   │                   │       ├── PDF417ErrorCorrection.java
│       │   │   │                   │       ├── PDF417HighLevelEncoder.java
│       │   │   │                   │       └── PDF417Writer.java
│       │   │   │                   └── qrcode/
│       │   │   │                       ├── QRCodeReader.java
│       │   │   │                       ├── QRCodeWriter.java
│       │   │   │                       ├── decoder/
│       │   │   │                       │   ├── BitMatrixParser.java
│       │   │   │                       │   ├── DataBlock.java
│       │   │   │                       │   ├── DataMask.java
│       │   │   │                       │   ├── DecodedBitStreamParser.java
│       │   │   │                       │   ├── Decoder.java
│       │   │   │                       │   ├── ErrorCorrectionLevel.java
│       │   │   │                       │   ├── FormatInformation.java
│       │   │   │                       │   ├── Mode.java
│       │   │   │                       │   └── Version.java
│       │   │   │                       ├── detector/
│       │   │   │                       │   ├── AlignmentPattern.java
│       │   │   │                       │   ├── AlignmentPatternFinder.java
│       │   │   │                       │   ├── Detector.java
│       │   │   │                       │   ├── FinderPattern.java
│       │   │   │                       │   ├── FinderPatternFinder.java
│       │   │   │                       │   └── FinderPatternInfo.java
│       │   │   │                       └── encoder/
│       │   │   │                           ├── BlockPair.java
│       │   │   │                           ├── ByteMatrix.java
│       │   │   │                           ├── Encoder.java
│       │   │   │                           ├── MaskUtil.java
│       │   │   │                           ├── MatrixUtil.java
│       │   │   │                           └── QRCode.java
│       │   │   ├── README.md
│       │   │   ├── com/
│       │   │   │   └── phonegap/
│       │   │   │       └── plugins/
│       │   │   │           └── barcodescanner/
│       │   │   │               └── BarcodeScanner.java
│       │   │   └── com.google.zxing.client.android.captureactivity.jar
│       │   ├── browser/
│       │   │   └── BarcodeScannerProxy.js
│       │   ├── ios/
│       │   │   ├── CDVBarcodeScanner.bundle/
│       │   │   │   └── beep.caf
│       │   │   ├── CDVBarcodeScanner.mm
│       │   │   ├── scannerOverlay.xib
│       │   │   ├── zxing-all-in-one.cpp
│       │   │   └── zxing-all-in-one.h
│       │   ├── windows/
│       │   │   ├── BarcodeScannerProxy.js
│       │   │   └── lib/
│       │   │       ├── Properties/
│       │   │       │   └── AssemblyInfo.cs
│       │   │       ├── Reader.cs
│       │   │       ├── WinRTBarcodeReader.csproj
│       │   │       └── ZXing.winmd
│       │   └── wp8/
│       │       ├── BarcodeScanner.cs
│       │       ├── BarcodeScannerTask.cs
│       │       ├── BarcodeScannerUI.xaml
│       │       └── BarcodeScannerUI.xaml.cs
│       ├── tests/
│       │   ├── plugin.xml
│       │   └── tests.js
│       └── www/
│           └── barcodescanner.js
└── src/
    ├── css/
    │   ├── android.less
    │   ├── app.less
    │   ├── components/
    │   │   ├── FeedbackModal.less
    │   │   ├── Footerbar.less
    │   │   ├── Headerbar.less
    │   │   ├── ListItem.less
    │   │   ├── NavigationBar.less
    │   │   ├── PersonItem.less
    │   │   ├── ScheduleItem.less
    │   │   └── index.less
    │   ├── demo.less
    │   ├── ionicons/
    │   │   ├── _ionicons-font.less
    │   │   ├── _ionicons-icons.less
    │   │   ├── _ionicons-variables.less
    │   │   └── ionicons.less
    │   ├── mixins.less
    │   ├── variables.less
    │   └── views/
    │       ├── about.less
    │       ├── announcement.less
    │       ├── details.less
    │       ├── event.less
    │       ├── index.less
    │       ├── misc.less
    │       ├── onboarding.less
    │       ├── person.less
    │       ├── schedule.less
    │       └── talk.less
    ├── index.html
    └── js/
        ├── app.js
        ├── components/
        │   ├── AppHeader.js
        │   ├── FeedbackModal.js
        │   ├── ListHeader.js
        │   ├── Onboarding/
        │   │   ├── enter-code.js
        │   │   ├── index.js
        │   │   └── resend-email.js
        │   ├── OnboardingHeader.js
        │   ├── PeopleItem.js
        │   ├── PeopleList.js
        │   ├── Scanner.js
        │   └── Spinner.js
        ├── config.js
        ├── icons/
        │   ├── index.js
        │   └── qr.js
        ├── lib/
        │   └── device.js
        ├── mixins/
        │   └── social.js
        ├── stores/
        │   ├── DataStore.js
        │   ├── default.json
        │   └── default.secret.json
        ├── touchstone/
        │   ├── Container.js
        │   ├── ErrorView.js
        │   ├── Icon.js
        │   ├── LabelInput.js
        │   ├── LabelTextarea.js
        │   ├── Link.js
        │   ├── NavigationBar.js
        │   ├── Switch.js
        │   ├── Tabs.js
        │   ├── Transitions.js
        │   ├── View.js
        │   ├── ViewManager.js
        │   ├── animation.js
        │   └── index.js
        └── views/
            ├── about.js
            ├── announcement.js
            ├── event/
            │   ├── index.js
            │   └── sponsor.js
            ├── me/
            │   ├── edit.js
            │   ├── index.js
            │   └── section.js
            ├── onboarding/
            │   ├── hackathon/
            │   │   ├── enter-code.js
            │   │   ├── index.js
            │   │   └── resend-email.js
            │   ├── main-event/
            │   │   ├── enter-code.js
            │   │   ├── index.js
            │   │   └── resend-email.js
            │   └── workshop/
            │       ├── enter-code.js
            │       ├── index.js
            │       └── resend-email.js
            ├── people/
            │   ├── index.js
            │   ├── person.js
            │   └── search.js
            └── schedule/
                ├── index.js
                ├── item.js
                └── talk.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Logs
logs
*.log

www/*
platforms/ios/www/*

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Common
.DS_Store
build

# Node.js
node_modules

# Xcode
*.mode1v3
*.mode2v3
*.perspectivev3
*.pbxuser
*.hmap
*.ipa
*.xcuserstate
*.xccheckout
*.moved-aside
*.perspectivev3
xcuserdata
DerivedData

# Android
build.xml
local.properties
gradlew
gradlew.bat
gradle
ant-build
ant-gen
gen
out
src/js/stores/secret.json


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2015 Thinkmill

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



================================================
FILE: README.md
================================================
# ReactEU Mobile App

ReactEurope Mobile App, built with [TouchstoneJS](http://touchstonejs.io)

Full Instructions and documentation coming as soon as we can publish them after the conference :)

### Instructions

Build/run in the browser

``` bash
git clone git@github.com:Thinkmill/reacteu-app.git
cd reacteu-app
npm install
npm start
```


or, Build/run on Android -- **requires** cordova and the Android SDK to be installed

``` bash
git clone git@github.com:Thinkmill/reacteu-app.git
cd reacteu-app
npm install
npm run build
cordova platform add android
cordova run android
```

## License

Copyright (c) 2015 Thinkmill. Made available under The MIT License (MIT).


================================================
FILE: config.xml
================================================
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.thinkmill.react-europe" version="1.0.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
	<name>ReactEurope</name>

	<description>
		ReactEurope Conference app - list the schedule, speakers, and event info.
	</description>

	<author email="hello@thinkmill.com.au" href="http://www.thinkmill.com.au">
		Thinkmill Team
	</author>

	<content src="index.html" />
	<access origin="*" />

	<preference name="SplashScreen" value="screen" />
	<preference name="SplashScreenDelay" value="10000" />
	<preference name="AutoHideSplashScreen" value="false" />

	<!-- ANDROID -->
	<platform name="android">
		<icon src="resources/icons/android.png" density="ldpi" />
		<icon src="resources/icons/android.png" density="mdpi" />
		<icon src="resources/icons/android.png" density="hdpi" />
		<icon src="resources/icons/android.png" density="xhdpi" />

		<splash src="resources/splash/android.png" density="ldpi" />
		<splash src="resources/splash/android.png" density="mdpi" />
		<splash src="resources/splash/android.png" density="hdpi" />
		<splash src="resources/splash/android.png" density="xhdpi" />

		<!-- CODEPUSH -->
		<!-- Production -->
		<preference name="CodePushDeploymentKey" value="3dC4K2JZ2MY2RXkdsdxe8xPTxwLaN1h1Lr9zb" />
		<!-- Staging: Un12wp6Bw3_IhrzfyQBhowpA_p_vN1h1Lr9zb -->
	</platform>

	<!-- IOS -->
	<platform name="ios">
		<!-- CODEPUSH -->
		<!-- Production -->
		<preference name="CodePushDeploymentKey" value="M5thQofU_KiBb2g0lIj2M1RJcx46N1h1Lr9zb" />
		<!-- Staging: vnXK_Iq7uZcga27gFHA4TixA06OKN1h1Lr9zb -->
	</platform>

	<!-- PLUGINS -->
	<plugin name="com.ionic.keyboard" spec="^1.0.4" />
	<plugin name="cordova-plugin-appavailability" spec="^0.4.1" />
	<plugin name="cordova-plugin-inappbrowser" spec="^1.0.0" />
	<plugin name="cordova-plugin-splashscreen" spec="^2.0.0" />
	<plugin name="cordova-plugin-statusbar" spec="^1.0.0" />
	<plugin name="cordova-plugin-vibration" spec="^1.1.0" />
	<plugin name="cordova-plugin-code-push" version="1.7.1-beta" />
	<plugin name="cordova-plugin-whitelist" spec="^1.1.0" />
	<plugin name="nl.x-services.plugins.socialsharing" spec="^4.3.18" />
	<plugin name="phonegap-plugin-barcodescanner" spec="^3.1.0" />
</widget>


================================================
FILE: gulpfile.js
================================================
/**
 * Gulp tasks are added by the touchstonejs-tasks package
 * See https://github.com/JedWatson/touchstonejs-tasks
 */

require('touchstonejs-tasks')(require('gulp'));


================================================
FILE: package.json
================================================
{
  "name": "react-europe",
  "version": "1.0.2",
  "description": "ReactEurope Conference",
  "private": true,
  "main": "src/js/app.js",
  "author": "Joss Mackison",
  "dependencies": {
    "async": "^1.0.0",
    "blacklist": "^1.1.2",
    "capitalize": "^1.0.0",
    "classnames": "^2.1.1",
    "defaults": "^1.0.2",
    "httpify": "^1.0.0",
    "moment": "^2.10.3",
    "react": "^0.13.3",
    "react-blink": "^1.0.2",
    "react-container": "^0.2.2",
    "react-sentry": "^0.4.0",
    "react-tappable": "^0.5.1",
    "react-timers": "^3.1.0",
    "touchstonejs": "git+https://github.com/touchstonejs/touchstonejs.git#3a0d5dbb2a3ee987aefe9d306855a60b0577866b",
    "tween.js": "^0.14.0"
  },
  "devDependencies": {
    "gulp": "^3.9.0",
    "happiness": "^1.0.6",
    "touchstonejs-tasks": "^0.2.5"
  },
  "scripts": {
    "build": "gulp clean && gulp build",
    "build:production": "gulp clean && NODE_ENV=production gulp build",
    "lint": "happiness",
    "start": "gulp clean && gulp dev",
    "watch": "gulp clean && gulp watch"
  }
}


================================================
FILE: plugins/android.json
================================================
{
    "prepare_queue": {
        "installed": [],
        "uninstalled": []
    },
    "config_munge": {
        "files": {}
    },
    "installed_plugins": {
        "cordova-plugin-appavailability": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-code-push": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-inappbrowser": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-splashscreen": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-statusbar": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-vibration": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-whitelist": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "phonegap-plugin-barcodescanner": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        }
    },
    "dependent_plugins": {
        "code-push": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-compat": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-file": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-file-transfer": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-zip": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-dialogs": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        },
        "cordova-plugin-device": {
            "PACKAGE_NAME": "com.thinkmill.reactEurope"
        }
    }
}

================================================
FILE: plugins/code-push/README.md
================================================
# CodePush Management SDK (Node.js)

A JavaScript library for programmatically managing your CodePush account (e.g. creating apps, promoting releases), which allows authoring Node.js-based build and/or deployment scripts, without needing to shell out to the [CLI](https://github.com/Microsoft/code-push/blob/master/cli/README.md).


## Getting Started

1. Create an access key to authenticate with the CodePush server using the following CodePush CLI command:

    ```shell
    code-push access-key add "DESCRIPTION_OF_THE_KEY"
    ```
    
    If you already created a key that you want to use here, then you can retrieve it by running `code-push access-key ls` and using the value of the `Key` column for the key you wish to use.
    
2. Install the management SDK by running `npm install code-push --save`

3. Import it using the following statement (using ES6 syntax as applicable):

    ```javascript
    var CodePush = require("code-push");    
    ```
    
4. Create an instance of the `CodePush` class, passing it the access key you created or retrieved in step #1:

    ```javascript
    var codePush = new CodePush("YOUR_ACCESS_KEY");
    ```

5. Begin automating the management of your account! For more details on what you can do with this `codePush` object, refer to the API reference section below.

## API Reference

The `code-push` module exports a single class (typically referred to as `CodePush`), which represents a proxy to the CodePush account management REST API. This class has a single constructor for authenticating with the CodePush service, and a collection of instance methods that correspond to the commands in the management [CLI](https://github.com/Microsoft/code-push/blob/master/cli/README.md), which allow you to programmatically control every aspect of your CodePush account.

### Constructors

- __CodePush(accessKey: string)__ - Creates a new instance of the CodePush management SDK, using the specified access key to authenticated with the server.

### Methods

- __addAccessKey(description: string): Promise&lt;AccessKey&gt;__ - Creates a new access key with the specified description (e.g. "VSTS CI").

- __addApp(appName: string): Promise&lt;App&gt;__ - Creates a new CodePush app with the specified name.

- __addCollaborator(appName: string, email: string): Promise&lt;void&gt;__ - Adds the specified CodePush user as a collaborator to the specified CodePush app.

- __addDeployment(appName: string, deploymentName: string): Promise&lt;Deployment&gt;__ - Creates a new deployment with the specified name, and associated with the specified app.

- __clearDeploymentHistory(appName: string, deploymentName: string): Promise&lt;void&gt;__ - Clears the release history associated with the specified app deployment.

- __getAccessKey(accessKey: string): Promise&lt;AccessKey&gt;__ - Retrieves the metadata about the specific access key.

- __getAccessKeys(): Promise&lt;AccessKey[]&gt;__ - Retrieves the list of access keys associated with your CodePush account.

- __getApp(appName: string): Promise&lt;App&gt;__ - Retrieves the metadata about the specified app.

- __getApps(): Promise&lt;App[]&gt;__ - Retrieves the list of apps associated with your CodePush account.

- __getCollaborators(appName: string): Promise&lt;CollaboratorMap&gt;__ - Retrieves the list of collaborators associated with the specified app.

- __getDeployment(appName: string, deploymentName: string): Promise&lt;Deployment&gt;__ - Retrieves the metadata for the specified app deployment.

- __getDeploymentHistory(appName: string, deploymentName: string): Promise&lt;Package[]&gt;__ - Retrieves the list of releases that have been made to the specified app deployment.

- __getDeploymentMetrics(appName: string, deploymentName): Promise&lt;DeploymentMetrics&gt;__ - Retrieves the installation metrics for the specified app deployment. 

- __getDeployments(appName: string): Promose&lt;Deployment[]&gt;__ - Retrieves the list of deployments associated with the specified app.

- __patchRelease(appName: string, deploymentName: string, label: string, updateMetadata: PackageInfo): Promise&lt;void&gt;__ - Updates the specified release's metadata with the given information.

- __promote(appName: string, sourceDeploymentName: string, destinationDeploymentName: string, updateMetadata: PackageInfo): Promise&lt;void&gt;__ - Promotes the latest release from one deployment to another for the specified app and updates the release with the given metadata.

- __release(appName: string, deploymentName: string, updateContentsPath: string, targetBinaryVersion: string, updateMetadata: PackageInfo): Promise&lt;void&gt;__ - Releases a new update to the specified deployment with the given metadata.

- __removeAccessKey(accessKey: string): Promise&lt;void&gt;__ - Removes the specified access key from your CodePush account.

- __removeApp(appName: string): Promise&lt;void&gt;__ - Deletes the specified CodePush app from your account.

- __removeCollaborator(appName: string, email: string): Promise&lt;void&gt;__ - Removes the specified account as a collaborator from the specified app.

- __removeDeployment(appName: string, deploymentName: string): Promise&lt;void&gt;__ - Removes the specified deployment from the specified app.

- __renameApp(oldAppName: string, newAppName: string): Promise&lt;void&gt;__ - Renames an existing app.

- __renameDeployment(appName: string, oldDeploymentName: string, newDeploymentName: string): Promise&lt;void&gt;__ - Renames an existing deployment within the specified app.

- __rollback(appName: string, deploymentName: string, targetRelease?: string): Promise&lt;void&gt;__ - Rolls back the latest release within the specified deployment. Optionally allows you to target a specific release in the deployment's history, as opposed to rolling to the previous release.

- __transferApp(appName: string, email: string): Promise&lt;void&gt;__ - Transfers the ownership of the specified app to the specified account.


================================================
FILE: plugins/code-push/package.json
================================================
{
  "name": "code-push",
  "version": "1.9.2-beta",
  "description": "Management SDK for the CodePush service",
  "main": "script/index.js",
  "scripts": {
    "test": "gulp"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/Microsoft/code-push.git"
  },
  "author": "Microsoft Corporation",
  "license": "MIT",
  "homepage": "https://microsoft.github.io/code-push",
  "dependencies": {
    "base-64": "^0.1.0",
    "node-uuid": "^1.4.3",
    "q": "^1.4.1",
    "superagent": "^1.7.2",
    "superagent-proxy": "^1.0.0"
  }
}


================================================
FILE: plugins/code-push/plugin.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="code-push" version="1.9.0-beta">
	<name>CodePushAcquisition</name>
	<description>CodePush Acquisition Plugin for Apache Cordova</description>
	<license>MIT</license>
	<keywords>cordova,code,push,acquisition</keywords>
	<repo>https://github.com/Microsoft/code-push.git</repo>
	<js-module src="script/acquisition-sdk.js" name="AcquisitionManager">
		<merges target="window" />
	</js-module>
</plugin>


================================================
FILE: plugins/code-push/script/acquisition-sdk.js
================================================
/// <reference path="../definitions/harness.d.ts" />
var AcquisitionStatus = (function () {
    function AcquisitionStatus() {
    }
    AcquisitionStatus.DeploymentSucceeded = "DeploymentSucceeded";
    AcquisitionStatus.DeploymentFailed = "DeploymentFailed";
    return AcquisitionStatus;
})();
exports.AcquisitionStatus = AcquisitionStatus;
var AcquisitionManager = (function () {
    function AcquisitionManager(httpRequester, configuration) {
        this._httpRequester = httpRequester;
        this._serverUrl = configuration.serverUrl;
        if (this._serverUrl.slice(-1) !== "/") {
            this._serverUrl += "/";
        }
        this._appVersion = configuration.appVersion;
        this._clientUniqueId = configuration.clientUniqueId;
        this._deploymentKey = configuration.deploymentKey;
        this._ignoreAppVersion = configuration.ignoreAppVersion;
    }
    AcquisitionManager.prototype.queryUpdateWithCurrentPackage = function (currentPackage, callback) {
        var _this = this;
        if (!currentPackage || !currentPackage.appVersion) {
            throw new Error("Calling common acquisition SDK with incorrect package"); // Unexpected; indicates error in our implementation
        }
        var updateRequest = {
            deploymentKey: this._deploymentKey,
            appVersion: currentPackage.appVersion,
            packageHash: currentPackage.packageHash,
            isCompanion: this._ignoreAppVersion,
            label: currentPackage.label,
            clientUniqueId: this._clientUniqueId
        };
        var requestUrl = this._serverUrl + "updateCheck?" + queryStringify(updateRequest);
        this._httpRequester.request(0 /* GET */, requestUrl, function (error, response) {
            if (error) {
                callback(error, null);
                return;
            }
            if (response.statusCode !== 200) {
                callback(new Error(response.statusCode + ": " + response.body), null);
                return;
            }
            try {
                var responseObject = JSON.parse(response.body);
                var updateInfo = responseObject.updateInfo;
            }
            catch (error) {
                callback(error, null);
                return;
            }
            if (!updateInfo) {
                callback(error, null);
                return;
            }
            else if (updateInfo.updateAppVersion) {
                callback(null, { updateAppVersion: true, appVersion: updateInfo.appVersion });
                return;
            }
            else if (!updateInfo.isAvailable) {
                callback(null, null);
                return;
            }
            var remotePackage = {
                deploymentKey: _this._deploymentKey,
                description: updateInfo.description,
                label: updateInfo.label,
                appVersion: updateInfo.appVersion,
                isMandatory: updateInfo.isMandatory,
                packageHash: updateInfo.packageHash,
                packageSize: updateInfo.packageSize,
                downloadUrl: updateInfo.downloadURL
            };
            callback(null, remotePackage);
        });
    };
    AcquisitionManager.prototype.reportStatusDeploy = function (deployedPackage, status, previousLabelOrAppVersion, previousDeploymentKey, callback) {
        var url = this._serverUrl + "reportStatus/deploy";
        var body = {
            appVersion: this._appVersion,
            deploymentKey: this._deploymentKey
        };
        if (this._clientUniqueId) {
            body.clientUniqueId = this._clientUniqueId;
        }
        if (deployedPackage) {
            body.label = deployedPackage.label;
            body.appVersion = deployedPackage.appVersion;
            switch (status) {
                case AcquisitionStatus.DeploymentSucceeded:
                case AcquisitionStatus.DeploymentFailed:
                    body.status = status;
                    break;
                default:
                    if (callback) {
                        if (!status) {
                            callback(new Error("Missing status argument."), null);
                        }
                        else {
                            callback(new Error("Unrecognized status \"" + status + "\"."), null);
                        }
                    }
                    return;
            }
        }
        if (previousLabelOrAppVersion) {
            body.previousLabelOrAppVersion = previousLabelOrAppVersion;
        }
        if (previousDeploymentKey) {
            body.previousDeploymentKey = previousDeploymentKey;
        }
        callback = typeof arguments[arguments.length - 1] === "function" && arguments[arguments.length - 1];
        this._httpRequester.request(2 /* POST */, url, JSON.stringify(body), function (error, response) {
            if (callback) {
                if (error) {
                    callback(error, null);
                    return;
                }
                if (response.statusCode !== 200) {
                    callback(new Error(response.statusCode + ": " + response.body), null);
                    return;
                }
                callback(null, null);
            }
        });
    };
    AcquisitionManager.prototype.reportStatusDownload = function (downloadedPackage, callback) {
        var url = this._serverUrl + "reportStatus/download";
        var body = {
            clientUniqueId: this._clientUniqueId,
            deploymentKey: this._deploymentKey,
            label: downloadedPackage.label
        };
        this._httpRequester.request(2 /* POST */, url, JSON.stringify(body), function (error, response) {
            if (callback) {
                if (error) {
                    callback(error, null);
                    return;
                }
                if (response.statusCode !== 200) {
                    callback(new Error(response.statusCode + ": " + response.body), null);
                    return;
                }
                callback(null, null);
            }
        });
    };
    return AcquisitionManager;
})();
exports.AcquisitionManager = AcquisitionManager;
function queryStringify(object) {
    var queryString = "";
    var isFirst = true;
    for (var property in object) {
        if (object.hasOwnProperty(property)) {
            var value = object[property];
            if (!isFirst) {
                queryString += "&";
            }
            queryString += encodeURIComponent(property) + "=";
            if (value !== null && typeof value !== "undefined") {
                queryString += encodeURIComponent(value);
            }
            isFirst = false;
        }
    }
    return queryString;
}


================================================
FILE: plugins/code-push/script/index.js
================================================
var AccountManager = require("./management-sdk");
module.exports = AccountManager;


================================================
FILE: plugins/code-push/script/management-sdk.js
================================================
var os = require("os");
var Q = require("q");
var superagent = require("superagent");
var Promise = Q.Promise;
var superproxy = require("superagent-proxy");
superproxy(superagent);
var packageJson = require("../package.json");
if (typeof window === "undefined") {
    fs = require("fs");
}
else {
    fs = {
        createReadStream: function (fileOrPath) {
            throw new Error("Tried to call a node fs function from the browser.");
        }
    };
}
// A template string tag function that URL encodes the substituted values
function urlEncode(strings) {
    var values = [];
    for (var _i = 1; _i < arguments.length; _i++) {
        values[_i - 1] = arguments[_i];
    }
    var result = "";
    for (var i = 0; i < strings.length; i++) {
        result += strings[i];
        if (i < values.length) {
            result += encodeURIComponent(values[i]);
        }
    }
    return result;
}
var AccountManager = (function () {
    function AccountManager(accessKey, customHeaders, serverUrl, proxy) {
        if (!accessKey)
            throw new Error("An access key must be specified.");
        this._accessKey = accessKey;
        this._customHeaders = customHeaders;
        this._serverUrl = serverUrl || AccountManager.SERVER_URL;
        this._proxy = proxy;
    }
    Object.defineProperty(AccountManager.prototype, "accessKey", {
        get: function () {
            return this._accessKey;
        },
        enumerable: true,
        configurable: true
    });
    AccountManager.prototype.isAuthenticated = function () {
        var _this = this;
        return Promise(function (resolve, reject, notify) {
            var request = superagent.get(_this._serverUrl + (_a = ["/authenticated"], _a.raw = ["/authenticated"], urlEncode(_a)));
            if (_this._proxy)
                request.proxy(_this._proxy);
            _this.attachCredentials(request);
            request.end(function (err, res) {
                if (err && err.status !== 401) {
                    reject({ message: _this.getErrorMessage(err, res) });
                    return;
                }
                var status = res ? res.status : err.status;
                var authenticated = status === 200;
                resolve(authenticated);
            });
            var _a;
        });
    };
    AccountManager.prototype.addAccessKey = function (description) {
        if (!description) {
            throw new Error("A description must be specified when adding an access key.");
        }
        var hostname = os.hostname();
        var accessKeyRequest = { createdBy: hostname, description: description };
        return this.post((_a = ["/accessKeys/"], _a.raw = ["/accessKeys/"], urlEncode(_a)), JSON.stringify(accessKeyRequest), true)
            .then(function (response) { return response.body.accessKey; });
        var _a;
    };
    AccountManager.prototype.getAccessKey = function (accessKey) {
        return this.get((_a = ["/accessKeys/", ""], _a.raw = ["/accessKeys/", ""], urlEncode(_a, accessKey)))
            .then(function (res) { return res.body.accessKey; });
        var _a;
    };
    AccountManager.prototype.getAccessKeys = function () {
        return this.get((_a = ["/accessKeys"], _a.raw = ["/accessKeys"], urlEncode(_a)))
            .then(function (res) { return res.body.accessKeys; });
        var _a;
    };
    AccountManager.prototype.removeAccessKey = function (accessKey) {
        return this.del((_a = ["/accessKeys/", ""], _a.raw = ["/accessKeys/", ""], urlEncode(_a, accessKey)))
            .then(function () { return null; });
        var _a;
    };
    // Account
    AccountManager.prototype.getAccountInfo = function () {
        return this.get((_a = ["/account"], _a.raw = ["/account"], urlEncode(_a)))
            .then(function (res) { return res.body.account; });
        var _a;
    };
    // Apps
    AccountManager.prototype.getApps = function () {
        return this.get((_a = ["/apps"], _a.raw = ["/apps"], urlEncode(_a)))
            .then(function (res) { return res.body.apps; });
        var _a;
    };
    AccountManager.prototype.getApp = function (appName) {
        return this.get((_a = ["/apps/", ""], _a.raw = ["/apps/", ""], urlEncode(_a, appName)))
            .then(function (res) { return res.body.app; });
        var _a;
    };
    AccountManager.prototype.addApp = function (appName) {
        var app = { name: appName };
        return this.post((_a = ["/apps/"], _a.raw = ["/apps/"], urlEncode(_a)), JSON.stringify(app), false)
            .then(function () { return app; });
        var _a;
    };
    AccountManager.prototype.removeApp = function (appName) {
        return this.del((_a = ["/apps/", ""], _a.raw = ["/apps/", ""], urlEncode(_a, appName)))
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.renameApp = function (oldAppName, newAppName) {
        return this.patch((_a = ["/apps/", ""], _a.raw = ["/apps/", ""], urlEncode(_a, oldAppName)), JSON.stringify({ name: newAppName }))
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.transferApp = function (appName, email) {
        return this.post((_a = ["/apps/", "/transfer/", ""], _a.raw = ["/apps/", "/transfer/", ""], urlEncode(_a, appName, email)), null, false)
            .then(function () { return null; });
        var _a;
    };
    // Collaborators
    AccountManager.prototype.getCollaborators = function (appName) {
        return this.get((_a = ["/apps/", "/collaborators"], _a.raw = ["/apps/", "/collaborators"], urlEncode(_a, appName)))
            .then(function (res) { return res.body.collaborators; });
        var _a;
    };
    AccountManager.prototype.addCollaborator = function (appName, email) {
        return this.post((_a = ["/apps/", "/collaborators/", ""], _a.raw = ["/apps/", "/collaborators/", ""], urlEncode(_a, appName, email)), null, false)
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.removeCollaborator = function (appName, email) {
        return this.del((_a = ["/apps/", "/collaborators/", ""], _a.raw = ["/apps/", "/collaborators/", ""], urlEncode(_a, appName, email)))
            .then(function () { return null; });
        var _a;
    };
    // Deployments
    AccountManager.prototype.addDeployment = function (appName, deploymentName) {
        var deployment = { name: deploymentName };
        return this.post((_a = ["/apps/", "/deployments/"], _a.raw = ["/apps/", "/deployments/"], urlEncode(_a, appName)), JSON.stringify(deployment), true)
            .then(function (res) { return res.body.deployment; });
        var _a;
    };
    AccountManager.prototype.clearDeploymentHistory = function (appName, deploymentName) {
        return this.del((_a = ["/apps/", "/deployments/", "/history"], _a.raw = ["/apps/", "/deployments/", "/history"], urlEncode(_a, appName, deploymentName)))
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.getDeployments = function (appName) {
        return this.get((_a = ["/apps/", "/deployments/"], _a.raw = ["/apps/", "/deployments/"], urlEncode(_a, appName)))
            .then(function (res) { return res.body.deployments; });
        var _a;
    };
    AccountManager.prototype.getDeployment = function (appName, deploymentName) {
        return this.get((_a = ["/apps/", "/deployments/", ""], _a.raw = ["/apps/", "/deployments/", ""], urlEncode(_a, appName, deploymentName)))
            .then(function (res) { return res.body.deployment; });
        var _a;
    };
    AccountManager.prototype.renameDeployment = function (appName, oldDeploymentName, newDeploymentName) {
        return this.patch((_a = ["/apps/", "/deployments/", ""], _a.raw = ["/apps/", "/deployments/", ""], urlEncode(_a, appName, oldDeploymentName)), JSON.stringify({ name: newDeploymentName }))
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.removeDeployment = function (appName, deploymentName) {
        return this.del((_a = ["/apps/", "/deployments/", ""], _a.raw = ["/apps/", "/deployments/", ""], urlEncode(_a, appName, deploymentName)))
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.getDeploymentMetrics = function (appName, deploymentName) {
        return this.get((_a = ["/apps/", "/deployments/", "/metrics"], _a.raw = ["/apps/", "/deployments/", "/metrics"], urlEncode(_a, appName, deploymentName)))
            .then(function (res) { return res.body.metrics; });
        var _a;
    };
    AccountManager.prototype.getDeploymentHistory = function (appName, deploymentName) {
        return this.get((_a = ["/apps/", "/deployments/", "/history"], _a.raw = ["/apps/", "/deployments/", "/history"], urlEncode(_a, appName, deploymentName)))
            .then(function (res) { return res.body.history; });
        var _a;
    };
    AccountManager.prototype.release = function (appName, deploymentName, fileOrPath, targetBinaryVersion, updateMetadata, uploadProgressCallback) {
        var _this = this;
        return Promise(function (resolve, reject, notify) {
            updateMetadata.appVersion = targetBinaryVersion;
            var request = superagent.post(_this._serverUrl + (_a = ["/apps/", "/deployments/", "/release"], _a.raw = ["/apps/", "/deployments/", "/release"], urlEncode(_a, appName, deploymentName)));
            if (_this._proxy)
                request.proxy(_this._proxy);
            _this.attachCredentials(request);
            var file;
            if (typeof fileOrPath === "string") {
                file = fs.createReadStream(fileOrPath);
            }
            else {
                file = fileOrPath;
            }
            request.attach("package", file)
                .field("packageInfo", JSON.stringify(updateMetadata))
                .on("progress", function (event) {
                if (uploadProgressCallback && event && event.total > 0) {
                    var currentProgress = event.loaded / event.total * 100;
                    uploadProgressCallback(currentProgress);
                }
            })
                .end(function (err, res) {
                if (err) {
                    reject({ message: _this.getErrorMessage(err, res) });
                    return;
                }
                if (res.ok) {
                    resolve(null);
                }
                else {
                    try {
                        var body = JSON.parse(res.text);
                    }
                    catch (err) {
                    }
                    if (body) {
                        reject(body);
                    }
                    else {
                        reject({ message: res.text, statusCode: res.status });
                    }
                }
            });
            var _a;
        });
    };
    AccountManager.prototype.patchRelease = function (appName, deploymentName, label, updateMetadata) {
        updateMetadata.label = label;
        var requestBody = JSON.stringify({ packageInfo: updateMetadata });
        return this.patch((_a = ["/apps/", "/deployments/", "/release"], _a.raw = ["/apps/", "/deployments/", "/release"], urlEncode(_a, appName, deploymentName)), requestBody, false)
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.promote = function (appName, sourceDeploymentName, destinationDeploymentName, updateMetadata) {
        var requestBody = JSON.stringify({ packageInfo: updateMetadata });
        return this.post((_a = ["/apps/", "/deployments/", "/promote/", ""], _a.raw = ["/apps/", "/deployments/", "/promote/", ""], urlEncode(_a, appName, sourceDeploymentName, destinationDeploymentName)), requestBody, false)
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.rollback = function (appName, deploymentName, targetRelease) {
        return this.post((_a = ["/apps/", "/deployments/", "/rollback/", ""], _a.raw = ["/apps/", "/deployments/", "/rollback/", ""], urlEncode(_a, appName, deploymentName, targetRelease || "")), null, false)
            .then(function () { return null; });
        var _a;
    };
    AccountManager.prototype.get = function (endpoint, expectResponseBody) {
        if (expectResponseBody === void 0) { expectResponseBody = true; }
        return this.makeApiRequest("get", endpoint, null, expectResponseBody, null);
    };
    AccountManager.prototype.post = function (endpoint, requestBody, expectResponseBody, contentType) {
        if (contentType === void 0) { contentType = "application/json;charset=UTF-8"; }
        return this.makeApiRequest("post", endpoint, requestBody, expectResponseBody, contentType);
    };
    AccountManager.prototype.patch = function (endpoint, requestBody, expectResponseBody, contentType) {
        if (expectResponseBody === void 0) { expectResponseBody = false; }
        if (contentType === void 0) { contentType = "application/json;charset=UTF-8"; }
        return this.makeApiRequest("patch", endpoint, requestBody, expectResponseBody, contentType);
    };
    AccountManager.prototype.del = function (endpoint, expectResponseBody) {
        if (expectResponseBody === void 0) { expectResponseBody = false; }
        return this.makeApiRequest("del", endpoint, null, expectResponseBody, null);
    };
    AccountManager.prototype.makeApiRequest = function (method, endpoint, requestBody, expectResponseBody, contentType) {
        var _this = this;
        return Promise(function (resolve, reject, notify) {
            var request = superagent[method](_this._serverUrl + endpoint);
            if (_this._proxy)
                request.proxy(_this._proxy);
            _this.attachCredentials(request);
            if (requestBody) {
                if (contentType) {
                    request = request.set("Content-Type", contentType);
                }
                request = request.send(requestBody);
            }
            request.end(function (err, res) {
                if (err) {
                    reject({ message: _this.getErrorMessage(err, res) });
                    return;
                }
                try {
                    var body = JSON.parse(res.text);
                }
                catch (err) {
                }
                if (res.ok) {
                    if (expectResponseBody && !body) {
                        reject({ message: "Could not parse response: " + res.text, statusCode: res.status });
                    }
                    else {
                        resolve({
                            headers: res.header,
                            body: body
                        });
                    }
                }
                else {
                    if (body) {
                        reject(body);
                    }
                    else {
                        reject({ message: res.text, statusCode: res.status });
                    }
                }
            });
        });
    };
    AccountManager.prototype.getErrorMessage = function (error, response) {
        return response && response.text ? response.text : error.message;
    };
    AccountManager.prototype.attachCredentials = function (request) {
        if (this._customHeaders) {
            for (var headerName in this._customHeaders) {
                request.set(headerName, this._customHeaders[headerName]);
            }
        }
        request.set("Accept", "application/vnd.code-push.v" + AccountManager.API_VERSION + "+json");
        request.set("Authorization", "Bearer " + this._accessKey);
        request.set("X-CodePush-SDK-Version", packageJson.version);
    };
    AccountManager.AppPermission = {
        OWNER: "Owner",
        COLLABORATOR: "Collaborator"
    };
    AccountManager.SERVER_URL = "https://codepush-management.azurewebsites.net";
    AccountManager.API_VERSION = 2;
    return AccountManager;
})();
module.exports = AccountManager;


================================================
FILE: plugins/code-push/script/types.js
================================================



================================================
FILE: plugins/code-push/test/acquisition-rest-mock.js
================================================
/// <reference path="../definitions/harness.d.ts" />
var querystring = require("querystring");
var acquisitionSdk = require("../script/acquisition-sdk");
exports.validDeploymentKey = "asdfasdfawerqw";
exports.latestPackage = {
    downloadURL: "http://www.windowsazure.com/blobs/awperoiuqpweru",
    description: "Angry flappy birds",
    appVersion: "1.5.0",
    label: "2.4.0",
    isMandatory: false,
    isAvailable: true,
    updateAppVersion: false,
    packageHash: "hash240",
    packageSize: 1024
};
exports.serverUrl = "http://myurl.com";
var reportStatusDeployUrl = exports.serverUrl + "/reportStatus/deploy";
var reportStatusDownloadUrl = exports.serverUrl + "/reportStatus/download";
var updateCheckUrl = exports.serverUrl + "/updateCheck?";
var HttpRequester = (function () {
    function HttpRequester() {
    }
    HttpRequester.prototype.request = function (verb, url, requestBodyOrCallback, callback) {
        if (!callback && typeof requestBodyOrCallback === "function") {
            callback = requestBodyOrCallback;
        }
        if (verb === 0 /* GET */ && url.indexOf(updateCheckUrl) === 0) {
            var params = querystring.parse(url.substring(updateCheckUrl.length));
            Server.onUpdateCheck(params, callback);
        }
        else if (verb === 2 /* POST */ && url === reportStatusDeployUrl) {
            Server.onReportStatus(callback);
        }
        else if (verb === 2 /* POST */ && url === reportStatusDownloadUrl) {
            Server.onReportStatus(callback);
        }
        else {
            throw new Error("Unexpected call");
        }
    };
    return HttpRequester;
})();
exports.HttpRequester = HttpRequester;
var CustomResponseHttpRequester = (function () {
    function CustomResponseHttpRequester(response) {
        this.response = response;
    }
    CustomResponseHttpRequester.prototype.request = function (verb, url, requestBodyOrCallback, callback) {
        if (typeof requestBodyOrCallback !== "function") {
            throw new Error("Unexpected request body");
        }
        callback = requestBodyOrCallback;
        callback(null, this.response);
    };
    return CustomResponseHttpRequester;
})();
exports.CustomResponseHttpRequester = CustomResponseHttpRequester;
var Server = (function () {
    function Server() {
    }
    Server.onAcquire = function (params, callback) {
        if (params.deploymentKey !== exports.validDeploymentKey) {
            callback(null, {
                statusCode: 200,
                body: JSON.stringify({ updateInfo: { isAvailable: false } })
            });
        }
        else {
            callback(null, {
                statusCode: 200,
                body: JSON.stringify({ updateInfo: exports.latestPackage })
            });
        }
    };
    Server.onUpdateCheck = function (params, callback) {
        var updateRequest = {
            deploymentKey: params.deploymentKey,
            appVersion: params.appVersion,
            packageHash: params.packageHash,
            isCompanion: !!(params.isCompanion),
            label: params.label
        };
        if (!updateRequest.deploymentKey || !updateRequest.appVersion) {
            callback(null, { statusCode: 400 });
        }
        else {
            var updateInfo = { isAvailable: false };
            if (updateRequest.deploymentKey === exports.validDeploymentKey) {
                if (updateRequest.isCompanion || updateRequest.appVersion === exports.latestPackage.appVersion) {
                    if (updateRequest.packageHash !== exports.latestPackage.packageHash) {
                        updateInfo = exports.latestPackage;
                    }
                }
                else if (updateRequest.appVersion < exports.latestPackage.appVersion) {
                    updateInfo = { updateAppVersion: true, appVersion: exports.latestPackage.appVersion };
                }
            }
            callback(null, {
                statusCode: 200,
                body: JSON.stringify({ updateInfo: updateInfo })
            });
        }
    };
    Server.onReportStatus = function (callback) {
        callback(null, { statusCode: 200 });
    };
    return Server;
})();


================================================
FILE: plugins/code-push/test/acquisition-sdk.js
================================================
/// <reference path="../definitions/harness.d.ts" />
var assert = require("assert");
var acquisitionSdk = require("../script/acquisition-sdk");
var mockApi = require("./acquisition-rest-mock");
var latestPackage = clone(mockApi.latestPackage);
var configuration = {
    appVersion: "1.5.0",
    clientUniqueId: "My iPhone",
    deploymentKey: mockApi.validDeploymentKey,
    serverUrl: mockApi.serverUrl,
};
var templateCurrentPackage = {
    deploymentKey: mockApi.validDeploymentKey,
    description: "sdfsdf",
    label: "v1",
    appVersion: latestPackage.appVersion,
    packageHash: "hash001",
    isMandatory: false,
    packageSize: 100
};
var scriptUpdateResult = {
    deploymentKey: mockApi.validDeploymentKey,
    description: latestPackage.description,
    downloadUrl: latestPackage.downloadURL,
    label: latestPackage.label,
    appVersion: latestPackage.appVersion,
    isMandatory: latestPackage.isMandatory,
    packageHash: latestPackage.packageHash,
    packageSize: latestPackage.packageSize
};
var nativeUpdateResult = {
    updateAppVersion: true,
    appVersion: latestPackage.appVersion
};
describe("Acquisition SDK", function () {
    beforeEach(function () {
        mockApi.latestPackage = clone(latestPackage);
    });
    it("Package with lower label and different package hash gives update", function (done) {
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(templateCurrentPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.deepEqual(scriptUpdateResult, returnPackage);
            done();
        });
    });
    it("Package with equal package hash gives no update", function (done) {
        var equalVersionPackage = clone(templateCurrentPackage);
        equalVersionPackage.packageHash = latestPackage.packageHash;
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(equalVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.equal(null, returnPackage);
            done();
        });
    });
    it("Package with higher different hash and higher label version gives update", function (done) {
        var higherVersionPackage = clone(templateCurrentPackage);
        higherVersionPackage.packageHash = "hash990";
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(higherVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.deepEqual(scriptUpdateResult, returnPackage);
            done();
        });
    });
    it("Package with lower native version gives update notification", function (done) {
        var lowerAppVersionPackage = clone(templateCurrentPackage);
        lowerAppVersionPackage.appVersion = "0.0.1";
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(lowerAppVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.deepEqual(nativeUpdateResult, returnPackage);
            done();
        });
    });
    it("Package with higher native version gives no update", function (done) {
        var higherAppVersionPackage = clone(templateCurrentPackage);
        higherAppVersionPackage.appVersion = "9.9.0";
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(higherAppVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.deepEqual(null, returnPackage);
            done();
        });
    });
    it("An empty response gives no update", function (done) {
        var lowerAppVersionPackage = clone(templateCurrentPackage);
        lowerAppVersionPackage.appVersion = "0.0.1";
        var emptyReponse = {
            statusCode: 200,
            body: JSON.stringify({})
        };
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.CustomResponseHttpRequester(emptyReponse), configuration);
        acquisition.queryUpdateWithCurrentPackage(lowerAppVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            done();
        });
    });
    it("An unexpected (but valid) JSON response gives no update", function (done) {
        var lowerAppVersionPackage = clone(templateCurrentPackage);
        lowerAppVersionPackage.appVersion = "0.0.1";
        var unexpectedResponse = {
            statusCode: 200,
            body: JSON.stringify({ unexpected: "response" })
        };
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.CustomResponseHttpRequester(unexpectedResponse), configuration);
        acquisition.queryUpdateWithCurrentPackage(lowerAppVersionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            done();
        });
    });
    it("Package for companion app ignores high native version and gives update", function (done) {
        var higherAppVersionCompanionPackage = clone(templateCurrentPackage);
        higherAppVersionCompanionPackage.appVersion = "9.9.0";
        var companionAppConfiguration = clone(configuration);
        configuration.ignoreAppVersion = true;
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(higherAppVersionCompanionPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.deepEqual(scriptUpdateResult, returnPackage);
            done();
        });
    });
    it("If latest package is mandatory, returned package is mandatory", function (done) {
        mockApi.latestPackage.isMandatory = true;
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.queryUpdateWithCurrentPackage(templateCurrentPackage, function (error, returnPackage) {
            assert.equal(null, error);
            assert.equal(true, returnPackage.isMandatory);
            done();
        });
    });
    it("If invalid arguments are provided, an error is raised", function (done) {
        var invalidPackage = clone(templateCurrentPackage);
        invalidPackage.appVersion = null;
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        try {
            acquisition.queryUpdateWithCurrentPackage(invalidPackage, function (error, returnPackage) {
                assert.fail("Should throw an error if the native implementation gave an incorrect package");
                done();
            });
        }
        catch (error) {
            done();
        }
    });
    it("If an invalid JSON response is returned by the server, an error is raised", function (done) {
        var lowerAppVersionPackage = clone(templateCurrentPackage);
        lowerAppVersionPackage.appVersion = "0.0.1";
        var invalidJsonReponse = {
            statusCode: 200,
            body: "invalid {{ json"
        };
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.CustomResponseHttpRequester(invalidJsonReponse), configuration);
        acquisition.queryUpdateWithCurrentPackage(lowerAppVersionPackage, function (error, returnPackage) {
            assert.notEqual(null, error);
            done();
        });
    });
    it("If deploymentKey is not valid...", function (done) {
        // TODO: behaviour is not defined
        done();
    });
    it("reportStatusDeploy(...) signals completion", function (done) {
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.reportStatusDeploy(templateCurrentPackage, acquisitionSdk.AcquisitionStatus.DeploymentFailed, "1.5.0", mockApi.validDeploymentKey, (function (error, parameter) {
            if (error) {
                throw error;
            }
            assert.equal(parameter, null);
            done();
        }));
    });
    it("reportStatusDownload(...) signals completion", function (done) {
        var acquisition = new acquisitionSdk.AcquisitionManager(new mockApi.HttpRequester(), configuration);
        acquisition.reportStatusDownload(templateCurrentPackage, (function (error, parameter) {
            if (error) {
                throw error;
            }
            assert.equal(parameter, null);
            done();
        }));
    });
});
function clone(initialObject) {
    return JSON.parse(JSON.stringify(initialObject));
}


================================================
FILE: plugins/code-push/test/management-sdk.js
================================================
/// <reference path="../definitions/harness.d.ts" />
var assert = require("assert");
var Q = require("q");
var AccountManager = require("../script/management-sdk");
var request = require("superagent");
var manager;
describe("Management SDK", function () {
    beforeEach(function () {
        manager = new AccountManager("dummyAccessKey", null, "http://localhost");
    });
    after(function () {
        // Prevent an exception that occurs due to how superagent-mock overwrites methods
        request.Request.prototype._callback = function () { };
    });
    it("methods reject the promise with status code info when an error occurs", function (done) {
        mockReturn("Text", 404);
        var methodsWithErrorHandling = [
            manager.addApp.bind(manager, "appName"),
            manager.getApp.bind(manager, "appName"),
            manager.renameApp.bind(manager, "appName", {}),
            manager.removeApp.bind(manager, "appName"),
            manager.transferApp.bind(manager, "appName", "email1"),
            manager.addDeployment.bind(manager, "appName", "deploymentName"),
            manager.getDeployment.bind(manager, "appName", "deploymentName"),
            manager.getDeployments.bind(manager, "appName"),
            manager.renameDeployment.bind(manager, "appName", "deploymentName", { name: "newDeploymentName" }),
            manager.removeDeployment.bind(manager, "appName", "deploymentName"),
            manager.addCollaborator.bind(manager, "appName", "email1"),
            manager.getCollaborators.bind(manager, "appName"),
            manager.removeCollaborator.bind(manager, "appName", "email1"),
            manager.patchRelease.bind(manager, "appName", "deploymentName", "label", { description: "newDescription" }),
            manager.promote.bind(manager, "appName", "deploymentName", "newDeploymentName", { description: "newDescription" }),
            manager.rollback.bind(manager, "appName", "deploymentName", "targetReleaseLabel")
        ];
        var result = Q(null);
        methodsWithErrorHandling.forEach(function (f) {
            result = result.then(function () {
                return testErrors(f);
            });
        });
        result.done(function () {
            done();
        });
        // Test that the proper error code and text is passed through on a server error
        function testErrors(method) {
            return Q.Promise(function (resolve, reject, notify) {
                method().done(function () {
                    assert.fail("Should have thrown an error");
                    reject();
                }, function (error) {
                    assert.equal(error.message, "Text");
                    resolve();
                });
            });
        }
    });
    it("isAuthenticated handles successful auth", function (done) {
        mockReturn(JSON.stringify({ authenticated: true }), 200, {});
        manager.isAuthenticated()
            .done(function (authenticated) {
            assert(authenticated, "Should be authenticated");
            done();
        });
    });
    it("isAuthenticated handles unsuccessful auth", function (done) {
        mockReturn("Unauthorized", 401, {});
        manager.isAuthenticated()
            .done(function (authenticated) {
            assert(!authenticated, "Should not be authenticated");
            done();
        });
    });
    it("isAuthenticated handles unexpected status codes", function (done) {
        mockReturn("Not Found", 404, {});
        manager.isAuthenticated()
            .done(function (authenticated) {
            assert.fail("isAuthenticated should have rejected the promise");
            done();
        }, function (err) {
            assert.equal(err.message, "Not Found", "Error message should be 'Not Found'");
            done();
        });
    });
    it("addApp handles successful response", function (done) {
        mockReturn(JSON.stringify({ success: true }), 201, { location: "/appName" });
        manager.addApp("appName")
            .done(function (obj) {
            assert.ok(obj);
            done();
        }, rejectHandler);
    });
    it("addApp handles error response", function (done) {
        mockReturn(JSON.stringify({ success: false }), 404, {});
        manager.addApp("appName")
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("getApp handles JSON response", function (done) {
        mockReturn(JSON.stringify({ app: {} }), 200, {});
        manager.getApp("appName")
            .done(function (obj) {
            assert.ok(obj);
            done();
        }, rejectHandler);
    });
    it("updateApp handles success response", function (done) {
        mockReturn(JSON.stringify({ apps: [] }), 200, {});
        manager.renameApp("appName", "newAppName")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("removeApp handles success response", function (done) {
        mockReturn("", 200, {});
        manager.removeApp("appName")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("transferApp handles successful response", function (done) {
        mockReturn("", 201);
        manager.transferApp("appName", "email1")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("addDeployment handles success response", function (done) {
        mockReturn(JSON.stringify({ deployment: { name: "name", key: "key" } }), 201, { location: "/deploymentName" });
        manager.addDeployment("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(obj);
            done();
        }, rejectHandler);
    });
    it("getDeployment handles JSON response", function (done) {
        mockReturn(JSON.stringify({ deployment: {} }), 200, {});
        manager.getDeployment("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(obj);
            done();
        }, rejectHandler);
    });
    it("getDeployments handles JSON response", function (done) {
        mockReturn(JSON.stringify({ deployments: [] }), 200, {});
        manager.getDeployments("appName")
            .done(function (obj) {
            assert.ok(obj);
            done();
        }, rejectHandler);
    });
    it("renameDeployment handles success response", function (done) {
        mockReturn(JSON.stringify({ apps: [] }), 200, {});
        manager.renameDeployment("appName", "deploymentName", "newDeploymentName")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("removeDeployment handles success response", function (done) {
        mockReturn("", 200, {});
        manager.removeDeployment("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("getDeploymentHistory handles success response with no packages", function (done) {
        mockReturn(JSON.stringify({ history: [] }), 200);
        manager.getDeploymentHistory("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(obj);
            assert.equal(obj.length, 0);
            done();
        }, rejectHandler);
    });
    it("getDeploymentHistory handles success response with two packages", function (done) {
        mockReturn(JSON.stringify({ history: [{ label: "v1" }, { label: "v2" }] }), 200);
        manager.getDeploymentHistory("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(obj);
            assert.equal(obj.length, 2);
            assert.equal(obj[0].label, "v1");
            assert.equal(obj[1].label, "v2");
            done();
        }, rejectHandler);
    });
    it("getDeploymentHistory handles error response", function (done) {
        mockReturn("", 404);
        manager.getDeploymentHistory("appName", "deploymentName")
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("clearDeploymentHistory handles success response", function (done) {
        mockReturn("", 204);
        manager.clearDeploymentHistory("appName", "deploymentName")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("clearDeploymentHistory handles error response", function (done) {
        mockReturn("", 404);
        manager.clearDeploymentHistory("appName", "deploymentName")
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("addCollaborator handles successful response", function (done) {
        mockReturn("", 201, { location: "/collaborators" });
        manager.addCollaborator("appName", "email1")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("addCollaborator handles error response", function (done) {
        mockReturn("", 404, {});
        manager.addCollaborator("appName", "email1")
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("getCollaborators handles success response with no collaborators", function (done) {
        mockReturn(JSON.stringify({ collaborators: {} }), 200);
        manager.getCollaborators("appName")
            .done(function (obj) {
            assert.ok(obj);
            assert.equal(Object.keys(obj).length, 0);
            done();
        }, rejectHandler);
    });
    it("getCollaborators handles success response with multiple collaborators", function (done) {
        mockReturn(JSON.stringify({
            collaborators: {
                "email1": { permission: "Owner", isCurrentAccount: true },
                "email2": { permission: "Collaborator", isCurrentAccount: false }
            }
        }), 200);
        manager.getCollaborators("appName")
            .done(function (obj) {
            assert.ok(obj);
            assert.equal(obj["email1"].permission, "Owner");
            assert.equal(obj["email2"].permission, "Collaborator");
            done();
        }, rejectHandler);
    });
    it("removeCollaborator handles success response", function (done) {
        mockReturn("", 200, {});
        manager.removeCollaborator("appName", "email1")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("patchRelease handles success response", function (done) {
        mockReturn(JSON.stringify({ package: { description: "newDescription" } }), 200);
        manager.patchRelease("appName", "deploymentName", "label", { description: "newDescription" })
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("patchRelease handles error response", function (done) {
        mockReturn("", 400);
        manager.patchRelease("appName", "deploymentName", "label", {})
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("promote handles success response", function (done) {
        mockReturn(JSON.stringify({ package: { description: "newDescription" } }), 200);
        manager.promote("appName", "deploymentName", "newDeploymentName", { description: "newDescription" })
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("promote handles error response", function (done) {
        mockReturn("", 400);
        manager.promote("appName", "deploymentName", "newDeploymentName", { rollout: 123 })
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
    it("rollback handles success response", function (done) {
        mockReturn(JSON.stringify({ package: { label: "v1" } }), 200);
        manager.rollback("appName", "deploymentName", "v1")
            .done(function (obj) {
            assert.ok(!obj);
            done();
        }, rejectHandler);
    });
    it("rollback handles error response", function (done) {
        mockReturn("", 400);
        manager.rollback("appName", "deploymentName", "v1")
            .done(function (obj) {
            throw new Error("Call should not complete successfully");
        }, function (error) { return done(); });
    });
});
// Helper method that is used everywhere that an assert.fail() is needed in a promise handler
function rejectHandler(val) {
    assert.fail();
}
// Wrapper for superagent-mock that abstracts away information not needed for SDK tests
function mockReturn(bodyText, statusCode, header) {
    if (header === void 0) { header = {}; }
    require("superagent-mock")(request, [{
            pattern: "http://localhost/(\\w+)/?",
            fixtures: function (match, params) {
                var isOk = statusCode >= 200 && statusCode < 300;
                if (!isOk) {
                    var err = new Error(bodyText);
                    err.status = statusCode;
                    throw err;
                }
                return { text: bodyText, status: statusCode, ok: isOk, header: header, headers: {} };
            },
            callback: function (match, data) { return data; }
        }]);
}


================================================
FILE: plugins/code-push/test/superagent-mock-config.js
================================================
// ./superagent-mock-config.js file
module.exports = [
  {
      pattern: 'http://localhost/(\\w+)/',

      /**
       * returns the data
       *
       * @param match array Result of the resolution of the regular expression
       * @param params object sent by 'send' function
       */
      fixtures: function (match, params) {
          return {text: "Error", status: 403, ok: false};

          /**
           * example: 
           *   request.get('https://error.example/404').end(function(err, res){
           *     console.log(err); // 404
           *   }) 
           */ 
          if (match[1] === '404') {
              throw new Error(404);
          }

          /**
           * example: 
           *   request.get('https://error.example/200').end(function(err, res){
           *     console.log(res.body); // "Data fixtures"
           *   })
           */

          /**
           * example: 
           *   request.get('https://domain.send.example/').send({superhero: "me"}).end(function(err, res){
           *     console.log(res.body); // "Data fixtures - superhero:me"
           *   }) 
           */
          if(params["superhero"]) {
              return 'Data fixtures - superhero:' + params["superhero"];
          } else {
              return 'Data fixtures';
          }
      },

      /**
       * returns the result of the request
       *
       * @param match array Result of the resolution of the regular expression
       * @param data  mixed Data returns by `fixtures` attribute
       */
      callback: function (match, data) {
          return data;
      }
  },
];

================================================
FILE: plugins/cordova-plugin-appavailability/README.md
================================================
# AppAvailability for iOS and Android

`Version 0.4.2`

A Plugin for Apache Cordova and Adobe PhoneGap by [ohh2ahh](http://ohh2ahh.com).

1. [Description](https://github.com/ohh2ahh/AppAvailability#1-description)
2. [Installation](https://github.com/ohh2ahh/AppAvailability#2-installation)
	2. [Automatically (Command-line Interface)](https://github.com/ohh2ahh/AppAvailability#automatically-command-line-interface)
	2. [PhoneGap Build](https://github.com/ohh2ahh/AppAvailability#phonegap-build)
3. [Usage](https://github.com/ohh2ahh/AppAvailability#3-usage)
	3. [iOS](https://github.com/ohh2ahh/AppAvailability#ios)
	3. [Android](https://github.com/ohh2ahh/AppAvailability#android)
	3. [Full Example](https://github.com/ohh2ahh/AppAvailability#full-example)
	3. [Old Approach (AppAvailability < 0.3.0)](https://github.com/ohh2ahh/AppAvailability#old-approach-appavailability--030)
4. [Some URI Schemes / Package Names](https://github.com/ohh2ahh/AppAvailability#4-some-uri-schemes--package-names)
5. [License](https://github.com/ohh2ahh/AppAvailability#5-license)

## Important: iOS 9 URL Scheme Whitelist
Apple changed the `canOpenURL` method on iOS 9. Apps which are checking for URL Schemes have to declare these Schemes as it is submitted to Apple. The article [Quick Take on iOS 9 URL Scheme Changes](http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes) expains the changes in detail.

### Add URL Schemes to the Whitelist
Simply open your app's .plist (usually `platforms/ios/<appname>/<appname>-Info.plist)` with an editor and add the following code with your needed Schemes.

```xml
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>twitter</string>
    <string>whatsapp</string>
</array>
```

## 1. Description

This plugin allows you to check if an app is installed on the user's device.
It requires an URI Scheme (e.g. twitter://) on iOS or a Package Name (e.g com.twitter.android) on Android.

* Ready for the Command-line Interface of Cordova / PhoneGap 3.0 and later
* Works with PhoneGap Build ([more information](https://build.phonegap.com/plugins/17))

### Supported Platforms

* iOS
* Android

## 2. Installation

The Cordova CLI is the recommended way to install AppAvailability, see [The Command-line Interface](http://cordova.apache.org/docs/en/4.0.0/guide_cli_index.md.html#The%20Command-Line%20Interface). You can find the plugin on these registries:
* [GitHub](https://github.com/ohh2ahh/AppAvailability)
* [npm](https://www.npmjs.com/package/cordova-plugin-appavailability)
* [Cordova Plugin Registry](http://plugins.cordova.io/#/package/com.ohh2ahh.plugins.appavailability) (deprecated [in favor of npm](http://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.html))
* [PhoneGap Plugin Registry](https://build.phonegap.com/plugins/1054) (deprecated because updating a plugin on PhoneGap Build requires a paid plan now)

### Automatically (Command-line Interface)

Simply run this command to add the latest version of AppAvailability from [npm](https://www.npmjs.com/package/cordova-plugin-appavailability) to your project:
```
$ cordova plugin add cordova-plugin-appavailability
```

Don't forget to prepare and compile your project:
```
$ cordova build
```

You don't have to reference the JavaScript in your `index.html`.

Alternatively you can install AppAvailability from [GitHub](https://github.com/ohh2ahh/AppAvailability):
```
$ cordova plugin add https://github.com/ohh2ahh/AppAvailability.git
```

### PhoneGap Build

AppAvailability works with PhoneGap build too. **Unfortunately PhoneGap Build requires now a paid plan to update a plugin. Therefore the version on PhoneGap Build is deprecated.**

You can implement version `0.3.1` of the plugin by adding the following xml to your `config.xml`:
```xml
<gap:plugin name="com.ohh2ahh.plugins.appavailability" />
```
Or if you want to use the exact version of AppAvailability:
```xml
<gap:plugin name="com.ohh2ahh.plugins.appavailability" version="0.3.1" />
```

There is no need to reference the JavaScript in your `index.html`.

You can find a PhoneGap Build project which demonstrates AppAvailability in the repository [ohh2ahh/AppAvailability-Demo-PhoneGap-Build](https://github.com/ohh2ahh/AppAvailability-Demo-PhoneGap-Build).

## 3. Usage

:exclamation: The code changed in version 0.3.0 and supports now success and error callbacks! But you can still use the old approach, which is [described below](https://github.com/ohh2ahh/AppAvailability#old-approach-appavailability--030).

### iOS

```javascript
appAvailability.check(
    'twitter://', // URI Scheme
    function() {  // Success callback
        console.log('Twitter is available');
    },
    function() {  // Error callback
        console.log('Twitter is not available');
    }
);
```

### Android

```javascript
appAvailability.check(
    'com.twitter.android', // Package Name
    function() {           // Success callback
        console.log('Twitter is available');
    },
    function() {           // Error callback
        console.log('Twitter is not available');
    }
);
```

### Full Example

```javascript
var scheme;

// Don't forget to add the org.apache.cordova.device plugin!
if(device.platform === 'iOS') {
    scheme = 'twitter://';
}
else if(device.platform === 'Android') {
    scheme = 'com.twitter.android';
}

appAvailability.check(
    scheme,       // URI Scheme or Package Name
    function() {  // Success callback
        console.log(scheme + ' is available :)');
    },
    function() {  // Error callback
        console.log(scheme + ' is not available :(');
    }
);
```

### Old Approach (AppAvailability < 0.3.0)

The only thing you have to do is replacing `appAvailability.check` with `appAvailability.checkBool`:

```javascript
appAvailability.checkBool('twitter://', function(availability) {
    // availability is either true or false
    if(availability) { console.log('Twitter is available'); }
});
```

## 4. Some URI Schemes / Package Names

[How do I get the URI Scheme / Package Name?](https://github.com/ohh2ahh/AppAvailability/issues/2#issuecomment-22203591)

Twitter:
* iOS: `twitter://` ([more Schemes](http://wiki.akosma.com/IPhone_URL_Schemes#Twitter))
* Android: `com.twitter.android`

Facebook:
* iOS: `fb://` (and [many more](http://wiki.akosma.com/IPhone_URL_Schemes#Facebook) as `fb://profile`)
* Android: `com.facebook.katana`

WhatsApp:
* iOS: `whatsapp://` (only since v. 2.10.1, [more information](http://www.whatsapp.com/faq/en/iphone/23559013))
* Android: `com.whatsapp`

## 5. License

[The MIT License (MIT)](http://www.opensource.org/licenses/mit-license.html)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

================================================
FILE: plugins/cordova-plugin-appavailability/package.json
================================================
{
  "name": "cordova-plugin-appavailability",
  "version": "0.4.2",
  "description": "This plugin for Cordova and PhoneGap allows you to check if an app is installed. It requires an URI Scheme (iOS) or a Package Name (Android).",
  "cordova": {
    "id": "cordova-plugin-appavailability",
    "platforms": [
      "ios",
      "android"
    ]
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ohh2ahh/AppAvailability.git"
  },
  "keywords": [
    "Cordova",
    "PhoneGap",
    "plugin",
    "app",
    "availability",
    "installed",
    "URIScheme",
    "URI",
    "Scheme",
    "PackageName",
    "Package",
    "Name",
    "iOS",
    "Android",
    "ecosystem:cordova",
    "cordova-ios",
    "cordova-android"
  ],
  "engines": [
    {
      "name": "cordova",
      "version": ">=3.0.0"
    }
  ],
  "author": "ohh2ahh",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/ohh2ahh/AppAvailability/issues"
  },
  "homepage": "https://github.com/ohh2ahh/AppAvailability#readme"
}


================================================
FILE: plugins/cordova-plugin-appavailability/plugin.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        xmlns:android="http://schemas.android.com/apk/res/android"
        id="cordova-plugin-appavailability"
        version="0.4.2">
    
    <name>AppAvailability</name>
    
    <description>This plugin for Cordova and PhoneGap allows you to check if an app is installed. It requires an URI Scheme (iOS) or a Package Name (Android).</description>
    
    <keywords>Cordova,PhoneGap,plugin,app,availability,installed, URIScheme,URI,Scheme,PackageName,Package,Name,iOS,Android</keywords>
    
    <repo>https://github.com/ohh2ahh/AppAvailability.git</repo>
    <issue>https://github.com/ohh2ahh/AppAvailability/issues</issue>
    
    <license>MIT</license>
    
    <engines>
        <engine name="cordova" version=">=3.0.0" />
    </engines>
    
    <js-module src="www/AppAvailability.js" name="AppAvailability">
        <clobbers target="appAvailability" />
    </js-module>
    
    <!-- iOS -->
    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="AppAvailability">
                <param name="ios-package" value="AppAvailability" />
            </feature>
        </config-file>
        
        <header-file src="src/ios/AppAvailability.h" />
        <source-file src="src/ios/AppAvailability.m" />
    </platform>
    
    <!-- Android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="AppAvailability">
                <param name="android-package" value="com.ohh2ahh.appavailability.AppAvailability" />
            </feature>
        </config-file>
        
        <source-file src="src/android/AppAvailability.java" target-dir="src/com/ohh2ahh/appavailability/" />
    </platform>
    
</plugin>

================================================
FILE: plugins/cordova-plugin-appavailability/src/android/AppAvailability.java
================================================
package com.ohh2ahh.appavailability;

import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;

import android.content.Context;
import android.content.pm.PackageManager;

public class AppAvailability extends CordovaPlugin {
    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        if(action.equals("checkAvailability")) {
            String uri = args.getString(0);
            this.checkAvailability(uri, callbackContext);
            return true;
        }
        return false;
    }
    
    // Thanks to http://floresosvaldo.com/android-cordova-plugin-checking-if-an-app-exists
    public boolean appInstalled(String uri) {
        Context ctx = this.cordova.getActivity().getApplicationContext();
        final PackageManager pm = ctx.getPackageManager();
        boolean app_installed = false;
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            app_installed = true;
        }
        catch(PackageManager.NameNotFoundException e) {
            app_installed = false;
        }
        return app_installed;
    }
    
    private void checkAvailability(String uri, CallbackContext callbackContext) {
        if(appInstalled(uri)) {
            callbackContext.success();
        }
        else {
            callbackContext.error("");
        }
    }
}


================================================
FILE: plugins/cordova-plugin-appavailability/src/ios/AppAvailability.h
================================================
#import <Cordova/CDV.h>

@interface AppAvailability : CDVPlugin

- (void)checkAvailability:(CDVInvokedUrlCommand*)command;

@end

================================================
FILE: plugins/cordova-plugin-appavailability/src/ios/AppAvailability.m
================================================
#import "AppAvailability.h"
#import <Cordova/CDV.h>

@implementation AppAvailability

- (void)checkAvailability:(CDVInvokedUrlCommand*)command {
    
    CDVPluginResult* pluginResult = nil;
    
    NSString* scheme = [command.arguments objectAtIndex:0];
    
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:scheme]]) {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:(true)];
    }
    else {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsBool:(false)];
    }
    
    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
    
}

@end

================================================
FILE: plugins/cordova-plugin-appavailability/www/AppAvailability.js
================================================
var appAvailability = {
    
    check: function(urlScheme, successCallback, errorCallback) {
        cordova.exec(
            successCallback,
            errorCallback,
            "AppAvailability",
            "checkAvailability",
            [urlScheme]
        );
    },
    
    checkBool: function(urlScheme, callback) {
        cordova.exec(
            function(success) { callback(success); },
            function(error) { callback(error); },
            "AppAvailability",
            "checkAvailability",
            [urlScheme]
        );
    }
    
};

module.exports = appAvailability;

================================================
FILE: plugins/cordova-plugin-code-push/CONTRIBUTING.md
================================================
# Contributing

## TypeScript

All the JS code in this plugin is compiled from TypeScript sources. Please do not submit pull requests with direct changes to the JS files in ```bin``` directory.
Instead, modify the sources in the ```www``` folder and compile a new version of the plugin. Read on for more details.

## Building the plugin

### Environment setup

```node.js``` and ```npm``` are needed for building this project. ```npm``` comes bundled with the ```node.js``` installer. You can download the ```node.js``` installer here: https://nodejs.org/download/. 

### Compile

Follow these steps to build a new version of the plugin:
- clone this repository
- install the dependencies

	Navigate to the root folder from your command line console and run:
	```
	npm install
	```
- compile

	From the same root folder location, run:
	```
	gulp
	```
	This will compile the sources and place them in the ```bin``` folder. Any compilation errors will be displayed in the console.

## Test

### Environment setup

Make sure you can build the plugin by following the steps above.

To run Android tests, make sure you have ```sdk\tools``` and  ```sdk\platform-tools``` in your PATH.

### Supported platforms

The plugin has end to end tests for Android and iOS. Depending on your development machine OS, you can run some or all the tests.

OS            | Supported tests
------------- | -------------
OS X          | Android, iOS
Windows       | Android

### Test descriptions

The tests first build the app.

They then check if the required emulators are currently running.

If an Android emulator is not running, it attempts to boot an Android emulator named ```emulator```. You can specify an emulator by adding ```--androidemu yourEmulatorNameHere``` as a command line option to the gulp task.

If an iOS simulator is not running, it attempts to boot the latest iOS iPhone simulator. You can specify a simulator by adding ```--iosemu yourSimulatorNameHere``` as a command line option to the gulp task.

If all the required emulators are not running and the tests fail to boot them, the tests will fail.

If you would like the tests to always restart the necessary emulators (killing them if they are currently running), add a ```--clean``` flag to the command.

The desired unit tests are then run.

If you would like to skip building, add a ```-fast``` to the end of the command you'd like to run. For example, ```gulp test-ios``` becomes ```gulp test-ios-fast```.

There is a both a full unit test suite and a "core" set of unit tests that you may run. If you would like to run only the core tests, add a ```--core``` flag to the command.

If you would like to pull the plugin from NPM rather than running the tests on the local version, add a ```--npm``` flag to the command.

#### Default

To run all of the unit tests on Android and iOS with both UIWebView and WkWebView:
```
gulp test
```

#### iOS

To run all of the unit tests on iOS with both the UIWebView and WkWebView:
```
gulp test-ios
```

To run all of the unit tests on iOS with the UIWebView:
```
gulp test-ios-ui
```

To run all of the unit tests on iOS with the WkWebView:
```
gulp test-ios-wk
```

#### Android

To run all of the unit tests on Android:
```
gulp test-android
```

#### More examples

All possible testing configurations have tasks!

The platforms are ordered as follows, and ran in that order:
android, ios-ui, ios-wk

To run the core unit tests on Android:
```
gulp test-android --core
```

To run all of the unit tests on iOS with the UIWebView and pull the plugin from NPM:
```
gulp test-ios-ui --npm
```

To run all of the unit tests on Android and iOS with the UIWebView without building first:
```
gulp test-android-ios-ui-fast
```

To run all of the unit tests on iOS with the WkWebView and restart the emulators:
```
gulp test-ios-wk --clean
```

To run the core unit tests on Android and pull the plugin from NPM:
```
gulp test-android --core --npm
```

...and so on!

================================================
FILE: plugins/cordova-plugin-code-push/LICENSE.md
================================================
Microsoft CodePush Plugin for Apache Cordova 

Copyright (c) Microsoft Corporation

All rights reserved. 

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"", to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/codePush.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var LocalPackage = require("./localPackage");
var RemotePackage = require("./remotePackage");
var CodePushUtil = require("./codePushUtil");
var NativeAppInfo = require("./nativeAppInfo");
var Sdk = require("./sdk");
var SyncStatus = require("./syncStatus");
var CodePush = (function () {
    function CodePush() {
    }
    CodePush.prototype.notifyApplicationReady = function (notifySucceeded, notifyFailed) {
        cordova.exec(notifySucceeded, notifyFailed, "CodePush", "updateSuccess", []);
    };
    CodePush.prototype.restartApplication = function (installSuccess, errorCallback) {
        cordova.exec(installSuccess, errorCallback, "CodePush", "restartApplication", []);
    };
    CodePush.prototype.reportStatus = function (status, label, appVersion, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey) {
        try {
            var createPackageForReporting = function (label, appVersion) {
                return {
                    label: label, appVersion: appVersion,
                    deploymentKey: currentDeploymentKey, description: null,
                    isMandatory: false, packageHash: null,
                    packageSize: null, failedInstall: false
                };
            };
            switch (status) {
                case ReportStatus.STORE_VERSION:
                    Sdk.reportStatusDeploy(null, AcquisitionStatus.DeploymentSucceeded, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey);
                    break;
                case ReportStatus.UPDATE_CONFIRMED:
                    Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentSucceeded, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey);
                    break;
                case ReportStatus.UPDATE_ROLLED_BACK:
                    Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentFailed, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey);
                    break;
            }
        }
        catch (e) {
            CodePushUtil.logError("An error occurred while reporting." + CodePushUtil.getErrorMessage(e));
        }
    };
    CodePush.prototype.getCurrentPackage = function (packageSuccess, packageError) {
        NativeAppInfo.isPendingUpdate(function (pendingUpdate) {
            var packageInfoFile = pendingUpdate ? LocalPackage.OldPackageInfoFile : LocalPackage.PackageInfoFile;
            LocalPackage.getPackageInfoOrNull(packageInfoFile, packageSuccess, packageError);
        });
    };
    CodePush.prototype.getPendingPackage = function (packageSuccess, packageError) {
        NativeAppInfo.isPendingUpdate(function (pendingUpdate) {
            if (pendingUpdate) {
                LocalPackage.getPackageInfoOrNull(LocalPackage.PackageInfoFile, packageSuccess, packageError);
            }
            else {
                packageSuccess(null);
            }
        });
    };
    CodePush.prototype.checkForUpdate = function (querySuccess, queryError, deploymentKey) {
        try {
            var callback = function (error, remotePackageOrUpdateNotification) {
                if (error) {
                    CodePushUtil.invokeErrorCallback(error, queryError);
                }
                else {
                    var appUpToDate = function () {
                        CodePushUtil.logMessage("App is up to date.");
                        querySuccess && querySuccess(null);
                    };
                    if (remotePackageOrUpdateNotification) {
                        if (remotePackageOrUpdateNotification.updateAppVersion) {
                            CodePushUtil.logMessage("An update is available, but it is targeting a newer binary version than you are currently running.");
                            appUpToDate();
                        }
                        else {
                            var remotePackage = remotePackageOrUpdateNotification;
                            NativeAppInfo.isFailedUpdate(remotePackage.packageHash, function (installFailed) {
                                var result = new RemotePackage();
                                result.appVersion = remotePackage.appVersion;
                                result.deploymentKey = deploymentKey;
                                result.description = remotePackage.description;
                                result.downloadUrl = remotePackage.downloadUrl;
                                result.isMandatory = remotePackage.isMandatory;
                                result.label = remotePackage.label;
                                result.packageHash = remotePackage.packageHash;
                                result.packageSize = remotePackage.packageSize;
                                result.failedInstall = installFailed;
                                CodePushUtil.logMessage("An update is available. " + JSON.stringify(result));
                                querySuccess && querySuccess(result);
                            });
                        }
                    }
                    else {
                        appUpToDate();
                    }
                }
            };
            var queryUpdate = function () {
                Sdk.getAcquisitionManager(function (initError, acquisitionManager) {
                    if (initError) {
                        CodePushUtil.invokeErrorCallback(initError, queryError);
                    }
                    else {
                        LocalPackage.getCurrentOrDefaultPackage(function (localPackage) {
                            CodePushUtil.logMessage("Checking for update.");
                            acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback);
                        }, function (error) {
                            CodePushUtil.invokeErrorCallback(error, queryError);
                        });
                    }
                }, deploymentKey);
            };
            if (deploymentKey) {
                queryUpdate();
            }
            else {
                NativeAppInfo.getDeploymentKey(function (deploymentKeyError, defaultDeploymentKey) {
                    if (deploymentKeyError) {
                        CodePushUtil.invokeErrorCallback(deploymentKeyError, queryError);
                    }
                    else {
                        deploymentKey = defaultDeploymentKey;
                        queryUpdate();
                    }
                });
            }
        }
        catch (e) {
            CodePushUtil.invokeErrorCallback(new Error("An error occurred while querying for updates." + CodePushUtil.getErrorMessage(e)), queryError);
        }
    };
    CodePush.prototype.sync = function (syncCallback, syncOptions, downloadProgress) {
        if (CodePush.SyncInProgress) {
            CodePushUtil.logMessage("Sync already in progress.");
            syncCallback && syncCallback(SyncStatus.IN_PROGRESS);
        }
        else {
            var syncCallbackAndUpdateSyncInProgress = function (result) {
                switch (result) {
                    case SyncStatus.ERROR:
                    case SyncStatus.IN_PROGRESS:
                    case SyncStatus.UP_TO_DATE:
                    case SyncStatus.UPDATE_IGNORED:
                    case SyncStatus.UPDATE_INSTALLED:
                        CodePush.SyncInProgress = false;
                    default:
                        break;
                }
                syncCallback && syncCallback(result);
            };
            CodePush.SyncInProgress = true;
            this.syncInternal(syncCallbackAndUpdateSyncInProgress, syncOptions, downloadProgress);
        }
    };
    CodePush.prototype.syncInternal = function (syncCallback, syncOptions, downloadProgress) {
        if (!syncOptions) {
            syncOptions = this.getDefaultSyncOptions();
        }
        else {
            var defaultDialogOptions = this.getDefaultUpdateDialogOptions();
            if (syncOptions.updateDialog) {
                if (typeof syncOptions.updateDialog !== typeof ({})) {
                    syncOptions.updateDialog = defaultDialogOptions;
                }
                else {
                    CodePushUtil.copyUnassignedMembers(defaultDialogOptions, syncOptions.updateDialog);
                }
            }
            var defaultOptions = this.getDefaultSyncOptions();
            CodePushUtil.copyUnassignedMembers(defaultOptions, syncOptions);
        }
        window.codePush.notifyApplicationReady();
        var onError = function (error) {
            CodePushUtil.logError("An error occurred during sync.", error);
            syncCallback && syncCallback(SyncStatus.ERROR);
        };
        var onInstallSuccess = function (appliedWhen) {
            switch (appliedWhen) {
                case InstallMode.ON_NEXT_RESTART:
                    CodePushUtil.logMessage("Update is installed and will be run on the next app restart.");
                    break;
                case InstallMode.ON_NEXT_RESUME:
                    if (syncOptions.minimumBackgroundDuration > 0) {
                        CodePushUtil.logMessage("Update is installed and will be run after the app has been in the background for at least " + syncOptions.minimumBackgroundDuration + " seconds.");
                    }
                    else {
                        CodePushUtil.logMessage("Update is installed and will be run when the app next resumes.");
                    }
                    break;
            }
            syncCallback && syncCallback(SyncStatus.UPDATE_INSTALLED);
        };
        var onDownloadSuccess = function (localPackage) {
            syncCallback && syncCallback(SyncStatus.INSTALLING_UPDATE);
            localPackage.install(onInstallSuccess, onError, syncOptions);
        };
        var downloadAndInstallUpdate = function (remotePackage) {
            syncCallback && syncCallback(SyncStatus.DOWNLOADING_PACKAGE);
            remotePackage.download(onDownloadSuccess, onError, downloadProgress);
        };
        var onUpdate = function (remotePackage) {
            var updateShouldBeIgnored = remotePackage && (remotePackage.failedInstall && syncOptions.ignoreFailedUpdates);
            if (!remotePackage || updateShouldBeIgnored) {
                if (updateShouldBeIgnored) {
                    CodePushUtil.logMessage("An update is available, but it is being ignored due to have been previously rolled back.");
                }
                syncCallback && syncCallback(SyncStatus.UP_TO_DATE);
            }
            else {
                var dlgOpts = syncOptions.updateDialog;
                if (dlgOpts) {
                    CodePushUtil.logMessage("Awaiting user action.");
                    syncCallback && syncCallback(SyncStatus.AWAITING_USER_ACTION);
                }
                if (remotePackage.isMandatory && syncOptions.updateDialog) {
                    var message = dlgOpts.appendReleaseDescription ?
                        dlgOpts.mandatoryUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description
                        : dlgOpts.mandatoryUpdateMessage;
                    navigator.notification.alert(message, function () { downloadAndInstallUpdate(remotePackage); }, dlgOpts.updateTitle, dlgOpts.mandatoryContinueButtonLabel);
                }
                else if (!remotePackage.isMandatory && syncOptions.updateDialog) {
                    var optionalUpdateCallback = function (buttonIndex) {
                        switch (buttonIndex) {
                            case 1:
                                downloadAndInstallUpdate(remotePackage);
                                break;
                            case 2:
                            default:
                                CodePushUtil.logMessage("User cancelled the update.");
                                syncCallback && syncCallback(SyncStatus.UPDATE_IGNORED);
                                break;
                        }
                    };
                    var message = dlgOpts.appendReleaseDescription ?
                        dlgOpts.optionalUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description
                        : dlgOpts.optionalUpdateMessage;
                    navigator.notification.confirm(message, optionalUpdateCallback, dlgOpts.updateTitle, [dlgOpts.optionalInstallButtonLabel, dlgOpts.optionalIgnoreButtonLabel]);
                }
                else {
                    downloadAndInstallUpdate(remotePackage);
                }
            }
        };
        syncCallback && syncCallback(SyncStatus.CHECKING_FOR_UPDATE);
        window.codePush.checkForUpdate(onUpdate, onError, syncOptions.deploymentKey);
    };
    CodePush.prototype.getDefaultSyncOptions = function () {
        if (!CodePush.DefaultSyncOptions) {
            CodePush.DefaultSyncOptions = {
                ignoreFailedUpdates: true,
                installMode: InstallMode.ON_NEXT_RESTART,
                minimumBackgroundDuration: 0,
                mandatoryInstallMode: InstallMode.IMMEDIATE,
                updateDialog: false,
                deploymentKey: undefined
            };
        }
        return CodePush.DefaultSyncOptions;
    };
    CodePush.prototype.getDefaultUpdateDialogOptions = function () {
        if (!CodePush.DefaultUpdateDialogOptions) {
            CodePush.DefaultUpdateDialogOptions = {
                updateTitle: "Update available",
                mandatoryUpdateMessage: "An update is available that must be installed.",
                mandatoryContinueButtonLabel: "Continue",
                optionalUpdateMessage: "An update is available. Would you like to install it?",
                optionalInstallButtonLabel: "Install",
                optionalIgnoreButtonLabel: "Ignore",
                appendReleaseDescription: false,
                descriptionPrefix: " Description: "
            };
        }
        return CodePush.DefaultUpdateDialogOptions;
    };
    return CodePush;
}());
var ReportStatus;
(function (ReportStatus) {
    ReportStatus[ReportStatus["STORE_VERSION"] = 0] = "STORE_VERSION";
    ReportStatus[ReportStatus["UPDATE_CONFIRMED"] = 1] = "UPDATE_CONFIRMED";
    ReportStatus[ReportStatus["UPDATE_ROLLED_BACK"] = 2] = "UPDATE_ROLLED_BACK";
})(ReportStatus || (ReportStatus = {}));
var instance = new CodePush();
module.exports = instance;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/codePushUtil.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var CodePushUtil = (function () {
    function CodePushUtil() {
    }
    CodePushUtil.copyUnassignedMembers = function (fromParameter, toParameter) {
        for (var key in fromParameter) {
            if (toParameter[key] === undefined || toParameter[key] === null) {
                toParameter[key] = fromParameter[key];
            }
        }
    };
    CodePushUtil.getNodeStyleCallbackFor = function (successCallback, errorCallback) {
        return function (error, result) {
            if (error) {
                errorCallback && errorCallback(error);
            }
            else {
                successCallback && successCallback(result);
            }
        };
    };
    CodePushUtil.getErrorMessage = function (e) {
        return e && e.message || e && e.toString() || "";
    };
    CodePushUtil.logMessage = function (msg) {
        console.log(CodePushUtil.TAG + " " + msg);
    };
    CodePushUtil.logError = function (message, error) {
        var errorMessage = message || "" + " " + CodePushUtil.getErrorMessage(error);
        console.error(CodePushUtil.TAG + " " + errorMessage);
    };
    CodePushUtil.TAG = "[CodePush]";
    CodePushUtil.invokeErrorCallback = function (error, errorCallback) {
        CodePushUtil.logError(null, error);
        errorCallback && errorCallback(error);
    };
    return CodePushUtil;
}());
module.exports = CodePushUtil;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/fileUtil.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var FileUtil = (function () {
    function FileUtil() {
    }
    FileUtil.directoryExists = function (rootUri, path, callback) {
        FileUtil.getDirectory(rootUri, path, false, function (error, dirEntry) {
            var dirExists = !error && !!dirEntry;
            callback(null, dirExists);
        });
    };
    FileUtil.fileErrorToError = function (fileError, message) {
        return new Error((message ? message : "An error has occurred while performing the operation. ") + " Error code: " + fileError.code);
    };
    FileUtil.getDataDirectory = function (path, createIfNotExists, callback) {
        FileUtil.getDirectory(cordova.file.dataDirectory, path, createIfNotExists, callback);
    };
    FileUtil.writeStringToDataFile = function (content, path, fileName, createIfNotExists, callback) {
        FileUtil.writeStringToFile(content, cordova.file.dataDirectory, path, fileName, createIfNotExists, callback);
    };
    FileUtil.getApplicationDirectory = function (path, callback) {
        FileUtil.getApplicationEntry(path, callback);
    };
    FileUtil.getApplicationFile = function (path, callback) {
        FileUtil.getApplicationEntry(path, callback);
    };
    FileUtil.getOrCreateFile = function (parent, path, createIfNotExists, success, fail) {
        var failFirst = function (error) {
            if (!createIfNotExists) {
                fail(error);
            }
            else {
                parent.getFile(path, { create: true, exclusive: false }, success, fail);
            }
        };
        parent.getFile(path, { create: false, exclusive: false }, success, failFirst);
    };
    FileUtil.getFile = function (rootUri, path, fileName, createIfNotExists, callback) {
        FileUtil.getDirectory(rootUri, path, createIfNotExists, function (error, directoryEntry) {
            if (error) {
                callback(error, null);
            }
            else {
                FileUtil.getOrCreateFile(directoryEntry, fileName, createIfNotExists, function (entry) { callback(null, entry); }, function (error) { callback(FileUtil.fileErrorToError(error), null); });
            }
        });
    };
    FileUtil.getDataFile = function (path, fileName, createIfNotExists, callback) {
        FileUtil.getFile(cordova.file.dataDirectory, path, fileName, createIfNotExists, callback);
    };
    FileUtil.fileExists = function (rootUri, path, fileName, callback) {
        FileUtil.getFile(rootUri, path, fileName, false, function (error, fileEntry) {
            var exists = !error && !!fileEntry;
            callback(null, exists);
        });
    };
    FileUtil.getDirectory = function (rootUri, path, createIfNotExists, callback) {
        var pathArray = path.split("/");
        var currentDir;
        var currentIndex = 0;
        var appDirError = function (error) {
            callback(new Error("Could not get application subdirectory. Error code: " + error.code), null);
        };
        var rootDirSuccess = function (appDir) {
            if (!createIfNotExists) {
                appDir.getDirectory(path, { create: false, exclusive: false }, function (directoryEntry) { callback(null, directoryEntry); }, appDirError);
            }
            else {
                currentDir = appDir;
                if (currentIndex >= pathArray.length) {
                    callback(null, appDir);
                }
                else {
                    var currentPath = pathArray[currentIndex];
                    currentIndex++;
                    if (currentPath) {
                        FileUtil.getOrCreateSubDirectory(appDir, currentPath, createIfNotExists, rootDirSuccess, appDirError);
                    }
                    else {
                        rootDirSuccess(appDir);
                    }
                }
            }
        };
        window.resolveLocalFileSystemURL(rootUri, rootDirSuccess, appDirError);
    };
    FileUtil.dataDirectoryExists = function (path, callback) {
        FileUtil.directoryExists(cordova.file.dataDirectory, path, callback);
    };
    FileUtil.copyDirectoryEntriesTo = function (sourceDir, destinationDir, callback) {
        var fail = function (error) {
            callback(FileUtil.fileErrorToError(error), null);
        };
        var success = function (entries) {
            var i = 0;
            var copyOne = function () {
                if (i < entries.length) {
                    var nextEntry = entries[i++];
                    var entryAlreadyInDestination = function (destinationEntry) {
                        var replaceError = function (fileError) {
                            callback(new Error("Error during entry replacement. Error code: " + fileError.code), null);
                        };
                        if (destinationEntry.isDirectory) {
                            FileUtil.copyDirectoryEntriesTo(nextEntry, destinationEntry, function (error) {
                                if (error) {
                                    callback(error, null);
                                }
                                else {
                                    copyOne();
                                }
                            });
                        }
                        else {
                            var fileEntry = destinationEntry;
                            fileEntry.remove(function () {
                                nextEntry.copyTo(destinationDir, nextEntry.name, copyOne, fail);
                            }, replaceError);
                        }
                    };
                    var entryNotInDestination = function (error) {
                        nextEntry.copyTo(destinationDir, nextEntry.name, copyOne, fail);
                    };
                    FileUtil.entryExistsInDirectory(nextEntry, destinationDir, entryAlreadyInDestination, entryNotInDestination);
                }
                else {
                    callback(null, null);
                }
            };
            copyOne();
        };
        var directoryReader = sourceDir.createReader();
        directoryReader.readEntries(success, fail);
    };
    FileUtil.entryExistsInDirectory = function (entry, destinationDir, exists, doesNotExist) {
        var options = { create: false, exclusive: false };
        if (entry.isDirectory) {
            destinationDir.getDirectory(entry.name, options, exists, doesNotExist);
        }
        else {
            destinationDir.getFile(entry.name, options, exists, doesNotExist);
        }
    };
    FileUtil.deleteDirectory = function (dirLocation, deleteDirCallback) {
        FileUtil.getDataDirectory(dirLocation, false, function (oldDirError, dirToDelete) {
            if (oldDirError) {
                deleteDirCallback(oldDirError, null);
            }
            else {
                var win = function () { deleteDirCallback(null, null); };
                var fail = function (e) { deleteDirCallback(FileUtil.fileErrorToError(e), null); };
                dirToDelete.removeRecursively(win, fail);
            }
        });
    };
    FileUtil.deleteEntriesFromDataDirectory = function (dirPath, filesToDelete, callback) {
        FileUtil.getDataDirectory(dirPath, false, function (error, rootDir) {
            if (error) {
                callback(error, null);
            }
            else {
                var i = 0;
                var deleteOne = function () {
                    if (i < filesToDelete.length) {
                        var continueDeleting = function () {
                            i++;
                            deleteOne();
                        };
                        var fail = function (error) {
                            console.log("Could not delete file: " + filesToDelete[i]);
                            continueDeleting();
                        };
                        var success = function (entry) {
                            entry.remove(continueDeleting, fail);
                        };
                        rootDir.getFile(filesToDelete[i], { create: false, exclusive: false }, success, fail);
                    }
                    else {
                        callback(null, null);
                    }
                };
                deleteOne();
            }
        });
    };
    FileUtil.writeStringToFile = function (content, rootUri, path, fileName, createIfNotExists, callback) {
        var gotFile = function (fileEntry) {
            fileEntry.createWriter(function (writer) {
                writer.onwriteend = function (ev) {
                    callback(null, null);
                };
                writer.onerror = function (ev) {
                    callback(writer.error, null);
                };
                writer.write(content);
            }, function (error) {
                callback(new Error("Could write the current package information file. Error code: " + error.code), null);
            });
        };
        FileUtil.getFile(rootUri, path, fileName, createIfNotExists, function (error, fileEntry) {
            if (error) {
                callback(error, null);
            }
            else {
                gotFile(fileEntry);
            }
        });
    };
    FileUtil.readFileEntry = function (fileEntry, callback) {
        fileEntry.file(function (file) {
            var fileReader = new FileReader();
            fileReader.onloadend = function (ev) {
                callback(null, ev.target.result);
            };
            fileReader.onerror = function (ev) {
                callback(new Error("Could not get file. Error: " + ev.error), null);
            };
            fileReader.readAsText(file);
        }, function (error) {
            callback(new Error("Could not get file. Error code: " + error.code), null);
        });
    };
    FileUtil.readFile = function (rootUri, path, fileName, callback) {
        FileUtil.getFile(rootUri, path, fileName, false, function (error, fileEntry) {
            if (error) {
                callback(error, null);
            }
            else {
                FileUtil.readFileEntry(fileEntry, callback);
            }
        });
    };
    FileUtil.readDataFile = function (path, fileName, callback) {
        FileUtil.readFile(cordova.file.dataDirectory, path, fileName, callback);
    };
    FileUtil.getApplicationEntry = function (path, callback) {
        var success = function (entry) {
            callback(null, entry);
        };
        var fail = function (error) {
            callback(FileUtil.fileErrorToError(error), null);
        };
        window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + path, success, fail);
    };
    FileUtil.getOrCreateSubDirectory = function (parent, path, createIfNotExists, success, fail) {
        var failFirst = function (error) {
            if (!createIfNotExists) {
                fail(error);
            }
            else {
                parent.getDirectory(path, { create: true, exclusive: false }, success, fail);
            }
        };
        parent.getDirectory(path, { create: false, exclusive: false }, success, failFirst);
    };
    return FileUtil;
}());
module.exports = FileUtil;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/httpRequester.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var HttpRequester = (function () {
    function HttpRequester(contentType) {
        this.contentType = contentType;
    }
    HttpRequester.prototype.request = function (verb, url, callbackOrRequestBody, callback) {
        var requestBody;
        var requestCallback = callback;
        if (!requestCallback && typeof callbackOrRequestBody === "function") {
            requestCallback = callbackOrRequestBody;
        }
        if (typeof callbackOrRequestBody === "string") {
            requestBody = callbackOrRequestBody;
        }
        var xhr = new XMLHttpRequest();
        var methodName = this.getHttpMethodName(verb);
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4) {
                var response = { statusCode: xhr.status, body: xhr.responseText };
                requestCallback && requestCallback(null, response);
            }
        };
        xhr.open(methodName, url, true);
        if (this.contentType) {
            xhr.setRequestHeader("Content-Type", this.contentType);
        }
        xhr.setRequestHeader("X-CodePush-SDK-Version", cordova.require("cordova/plugin_list").metadata["code-push"]);
        xhr.send(requestBody);
    };
    HttpRequester.prototype.getHttpMethodName = function (verb) {
        switch (verb) {
            case 0:
                return "GET";
            case 7:
                return "CONNECT";
            case 4:
                return "DELETE";
            case 1:
                return "HEAD";
            case 6:
                return "OPTIONS";
            case 8:
                return "PATCH";
            case 2:
                return "POST";
            case 3:
                return "PUT";
            case 5:
                return "TRACE";
            default:
                return null;
        }
    };
    return HttpRequester;
}());
module.exports = HttpRequester;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/installMode.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var InstallMode;
(function (InstallMode) {
    InstallMode[InstallMode["IMMEDIATE"] = 0] = "IMMEDIATE";
    InstallMode[InstallMode["ON_NEXT_RESTART"] = 1] = "ON_NEXT_RESTART";
    InstallMode[InstallMode["ON_NEXT_RESUME"] = 2] = "ON_NEXT_RESUME";
})(InstallMode || (InstallMode = {}));
module.exports = InstallMode;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/localPackage.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Package = require("./package");
var NativeAppInfo = require("./nativeAppInfo");
var FileUtil = require("./fileUtil");
var CodePushUtil = require("./codePushUtil");
var Sdk = require("./sdk");
var LocalPackage = (function (_super) {
    __extends(LocalPackage, _super);
    function LocalPackage() {
        _super.apply(this, arguments);
    }
    LocalPackage.prototype.install = function (installSuccess, errorCallback, installOptions) {
        var _this = this;
        try {
            CodePushUtil.logMessage("Installing update");
            if (!installOptions) {
                installOptions = LocalPackage.getDefaultInstallOptions();
            }
            else {
                CodePushUtil.copyUnassignedMembers(LocalPackage.getDefaultInstallOptions(), installOptions);
            }
            var installError = function (error) {
                CodePushUtil.invokeErrorCallback(error, errorCallback);
                Sdk.reportStatusDeploy(_this, AcquisitionStatus.DeploymentFailed, _this.deploymentKey);
            };
            var newPackageLocation = LocalPackage.VersionsDir + "/" + this.packageHash;
            var donePackageFileCopy = function (deployDir) {
                _this.localPath = deployDir.fullPath;
                _this.finishInstall(deployDir, installOptions, installSuccess, installError);
            };
            var newPackageUnzipped = function (unzipError) {
                if (unzipError) {
                    installError && installError(new Error("Could not unzip package. " + CodePushUtil.getErrorMessage(unzipError)));
                }
                else {
                    LocalPackage.handleDeployment(newPackageLocation, CodePushUtil.getNodeStyleCallbackFor(donePackageFileCopy, installError));
                }
            };
            FileUtil.getDataDirectory(LocalPackage.DownloadUnzipDir, false, function (error, directoryEntry) {
                var unzipPackage = function () {
                    FileUtil.getDataDirectory(LocalPackage.DownloadUnzipDir, true, function (innerError, unzipDir) {
                        if (innerError) {
                            installError && installError(innerError);
                        }
                        else {
                            zip.unzip(_this.localPath, unzipDir.toInternalURL(), newPackageUnzipped);
                        }
                    });
                };
                if (!error && !!directoryEntry) {
                    directoryEntry.removeRecursively(function () {
                        unzipPackage();
                    }, function (cleanupError) {
                        installError && installError(FileUtil.fileErrorToError(cleanupError));
                    });
                }
                else {
                    unzipPackage();
                }
            });
        }
        catch (e) {
            installError && installError(new Error("An error occured while installing the package. " + CodePushUtil.getErrorMessage(e)));
        }
    };
    LocalPackage.prototype.finishInstall = function (deployDir, installOptions, installSuccess, installError) {
        var _this = this;
        LocalPackage.getCurrentOrDefaultPackage(function (oldPackage) {
            LocalPackage.backupPackageInformationFile(function (backupError) {
                _this.writeNewPackageMetadata(deployDir, function (writeMetadataError) {
                    if (writeMetadataError) {
                        installError && installError(writeMetadataError);
                    }
                    else {
                        var invokeSuccessAndInstall = function () {
                            CodePushUtil.logMessage("Install succeeded.");
                            var installModeToUse = _this.isMandatory ? installOptions.mandatoryInstallMode : installOptions.installMode;
                            if (installModeToUse === InstallMode.IMMEDIATE) {
                                installSuccess && installSuccess(installModeToUse);
                                cordova.exec(function () { }, function () { }, "CodePush", "install", [deployDir.fullPath,
                                    installModeToUse.toString(), installOptions.minimumBackgroundDuration.toString()]);
                            }
                            else {
                                cordova.exec(function () { installSuccess && installSuccess(installModeToUse); }, function () { installError && installError(); }, "CodePush", "install", [deployDir.fullPath,
                                    installModeToUse.toString(), installOptions.minimumBackgroundDuration.toString()]);
                            }
                        };
                        var preInstallSuccess = function () {
                            invokeSuccessAndInstall();
                        };
                        var preInstallFailure = function (preInstallError) {
                            CodePushUtil.logError("Preinstall failure.", preInstallError);
                            var error = new Error("An error has occured while installing the package. " + CodePushUtil.getErrorMessage(preInstallError));
                            installError && installError(error);
                        };
                        cordova.exec(preInstallSuccess, preInstallFailure, "CodePush", "preInstall", [deployDir.fullPath]);
                    }
                });
            });
        }, installError);
    };
    LocalPackage.handleDeployment = function (newPackageLocation, deployCallback) {
        FileUtil.getDataDirectory(newPackageLocation, true, function (deployDirError, deployDir) {
            FileUtil.getDataFile(LocalPackage.DownloadUnzipDir, LocalPackage.DiffManifestFile, false, function (manifestError, diffManifest) {
                if (!manifestError && !!diffManifest) {
                    LocalPackage.handleDiffDeployment(newPackageLocation, diffManifest, deployCallback);
                }
                else {
                    LocalPackage.handleCleanDeployment(newPackageLocation, function (error) {
                        deployCallback(error, deployDir);
                    });
                }
            });
        });
    };
    LocalPackage.prototype.writeNewPackageMetadata = function (deployDir, writeMetadataCallback) {
        var _this = this;
        NativeAppInfo.getApplicationBuildTime(function (buildTimeError, timestamp) {
            NativeAppInfo.getApplicationVersion(function (appVersionError, appVersion) {
                buildTimeError && CodePushUtil.logError("Could not get application build time. " + buildTimeError);
                appVersionError && CodePushUtil.logError("Could not get application version." + appVersionError);
                var currentPackageMetadata = {
                    nativeBuildTime: timestamp,
                    localPath: _this.localPath,
                    appVersion: appVersion,
                    deploymentKey: _this.deploymentKey,
                    description: _this.description,
                    isMandatory: _this.isMandatory,
                    packageSize: _this.packageSize,
                    label: _this.label,
                    packageHash: _this.packageHash,
                    isFirstRun: false,
                    failedInstall: false,
                    install: undefined
                };
                LocalPackage.writeCurrentPackageInformation(currentPackageMetadata, writeMetadataCallback);
            });
        });
    };
    LocalPackage.handleCleanDeployment = function (newPackageLocation, cleanDeployCallback) {
        FileUtil.getDataDirectory(newPackageLocation, true, function (deployDirError, deployDir) {
            FileUtil.getDataDirectory(LocalPackage.DownloadUnzipDir, false, function (unzipDirErr, unzipDir) {
                if (unzipDirErr || deployDirError) {
                    cleanDeployCallback(new Error("Could not copy new package."), null);
                }
                else {
                    FileUtil.copyDirectoryEntriesTo(unzipDir, deployDir, function (copyError) {
                        if (copyError) {
                            cleanDeployCallback(copyError, null);
                        }
                        else {
                            cleanDeployCallback(null, deployDir);
                        }
                    });
                }
            });
        });
    };
    LocalPackage.copyCurrentPackage = function (newPackageLocation, copyCallback) {
        var handleError = function (e) {
            copyCallback && copyCallback(e, null);
        };
        var doCopy = function (currentPackagePath) {
            var getCurrentPackageDirectory;
            if (currentPackagePath) {
                getCurrentPackageDirectory = function (getCurrentPackageDirectoryCallback) {
                    FileUtil.getDataDirectory(currentPackagePath, false, getCurrentPackageDirectoryCallback);
                };
            }
            else {
                newPackageLocation = newPackageLocation + "/www";
                getCurrentPackageDirectory = function (getCurrentPackageDirectoryCallback) {
                    FileUtil.getApplicationDirectory("www", getCurrentPackageDirectoryCallback);
                };
            }
            FileUtil.getDataDirectory(newPackageLocation, true, function (deployDirError, deployDir) {
                if (deployDirError) {
                    handleError(new Error("Could not acquire the source/destination folders. "));
                }
                else {
                    var success = function (currentPackageDirectory) {
                        FileUtil.copyDirectoryEntriesTo(currentPackageDirectory, deployDir, copyCallback);
                    };
                    var fail = function (fileSystemError) {
                        copyCallback && copyCallback(FileUtil.fileErrorToError(fileSystemError), null);
                    };
                    getCurrentPackageDirectory(CodePushUtil.getNodeStyleCallbackFor(success, fail));
                }
            });
        };
        var packageFailure = function (error) {
            doCopy();
        };
        var packageSuccess = function (currentPackage) {
            doCopy(currentPackage.localPath);
        };
        LocalPackage.getPackage(LocalPackage.PackageInfoFile, packageSuccess, packageFailure);
    };
    LocalPackage.handleDiffDeployment = function (newPackageLocation, diffManifest, diffCallback) {
        var handleError = function (e) {
            diffCallback(e, null);
        };
        LocalPackage.copyCurrentPackage(newPackageLocation, function (currentPackageError) {
            LocalPackage.handleCleanDeployment(newPackageLocation, function (cleanDeployError) {
                FileUtil.readFileEntry(diffManifest, function (error, content) {
                    if (error || currentPackageError || cleanDeployError) {
                        handleError(new Error("Cannot perform diff-update."));
                    }
                    else {
                        var manifest = JSON.parse(content);
                        FileUtil.deleteEntriesFromDataDirectory(newPackageLocation, manifest.deletedFiles, function (deleteError) {
                            FileUtil.getDataDirectory(newPackageLocation, true, function (deployDirError, deployDir) {
                                if (deleteError || deployDirError) {
                                    handleError(new Error("Cannot clean up deleted manifest files."));
                                }
                                else {
                                    diffCallback(null, deployDir);
                                }
                            });
                        });
                    }
                });
            });
        });
    };
    LocalPackage.writeCurrentPackageInformation = function (packageInfoMetadata, callback) {
        var content = JSON.stringify(packageInfoMetadata);
        FileUtil.writeStringToDataFile(content, LocalPackage.RootDir, LocalPackage.PackageInfoFile, true, callback);
    };
    LocalPackage.backupPackageInformationFile = function (callback) {
        var reportFileError = function (error) {
            callback(FileUtil.fileErrorToError(error), null);
        };
        var copyFile = function (fileToCopy) {
            fileToCopy.getParent(function (parent) {
                fileToCopy.copyTo(parent, LocalPackage.OldPackageInfoFile, function () {
                    callback(null, null);
                }, reportFileError);
            }, reportFileError);
        };
        var gotFile = function (error, currentPackageFile) {
            if (error) {
                callback(error, null);
            }
            else {
                FileUtil.getDataFile(LocalPackage.RootDir, LocalPackage.OldPackageInfoFile, false, function (error, oldPackageFile) {
                    if (!error && !!oldPackageFile) {
                        oldPackageFile.remove(function () {
                            copyFile(currentPackageFile);
                        }, reportFileError);
                    }
                    else {
                        copyFile(currentPackageFile);
                    }
                });
            }
        };
        FileUtil.getDataFile(LocalPackage.RootDir, LocalPackage.PackageInfoFile, false, gotFile);
    };
    LocalPackage.getOldPackage = function (packageSuccess, packageError) {
        return LocalPackage.getPackage(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);
    };
    LocalPackage.getPackage = function (packageFile, packageSuccess, packageError) {
        var handleError = function (e) {
            packageError && packageError(new Error("Cannot read package information. " + CodePushUtil.getErrorMessage(e)));
        };
        try {
            FileUtil.readDataFile(LocalPackage.RootDir, packageFile, function (error, content) {
                if (error) {
                    handleError(error);
                }
                else {
                    try {
                        var packageInfo = JSON.parse(content);
                        LocalPackage.getLocalPackageFromMetadata(packageInfo, packageSuccess, packageError);
                    }
                    catch (e) {
                        handleError(e);
                    }
                }
            });
        }
        catch (e) {
            handleError(e);
        }
    };
    LocalPackage.getLocalPackageFromMetadata = function (metadata, packageSuccess, packageError) {
        if (!metadata) {
            packageError && packageError(new Error("Invalid package metadata."));
        }
        else {
            NativeAppInfo.isFailedUpdate(metadata.packageHash, function (installFailed) {
                NativeAppInfo.isFirstRun(metadata.packageHash, function (isFirstRun) {
                    var localPackage = new LocalPackage();
                    localPackage.appVersion = metadata.appVersion;
                    localPackage.deploymentKey = metadata.deploymentKey;
                    localPackage.description = metadata.description;
                    localPackage.failedInstall = installFailed;
                    localPackage.isFirstRun = isFirstRun;
                    localPackage.label = metadata.label;
                    localPackage.localPath = metadata.localPath;
                    localPackage.packageHash = metadata.packageHash;
                    localPackage.packageSize = metadata.packageSize;
                    packageSuccess && packageSuccess(localPackage);
                });
            });
        }
    };
    LocalPackage.getCurrentOrDefaultPackage = function (packageSuccess, packageError) {
        LocalPackage.getPackageInfoOrDefault(LocalPackage.PackageInfoFile, packageSuccess, packageError);
    };
    LocalPackage.getOldOrDefaultPackage = function (packageSuccess, packageError) {
        LocalPackage.getPackageInfoOrDefault(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);
    };
    LocalPackage.getPackageInfoOrDefault = function (packageFile, packageSuccess, packageError) {
        var packageFailure = function (error) {
            NativeAppInfo.getApplicationVersion(function (appVersionError, appVersion) {
                if (appVersionError) {
                    CodePushUtil.logError("Could not get application version." + appVersionError);
                    packageError(appVersionError);
                    return;
                }
                NativeAppInfo.getBinaryHash(function (binaryHashError, binaryHash) {
                    var defaultPackage = new LocalPackage();
                    defaultPackage.appVersion = appVersion;
                    if (binaryHashError) {
                        CodePushUtil.logError("Could not get binary hash." + binaryHashError);
                    }
                    else {
                        defaultPackage.packageHash = binaryHash;
                    }
                    packageSuccess(defaultPackage);
                });
            });
        };
        LocalPackage.getPackage(packageFile, packageSuccess, packageFailure);
    };
    LocalPackage.getPackageInfoOrNull = function (packageFile, packageSuccess, packageError) {
        LocalPackage.getPackage(packageFile, packageSuccess, packageSuccess.bind(null, null));
    };
    LocalPackage.getDefaultInstallOptions = function () {
        if (!LocalPackage.DefaultInstallOptions) {
            LocalPackage.DefaultInstallOptions = {
                installMode: InstallMode.ON_NEXT_RESTART,
                minimumBackgroundDuration: 0,
                mandatoryInstallMode: InstallMode.IMMEDIATE
            };
        }
        return LocalPackage.DefaultInstallOptions;
    };
    LocalPackage.RootDir = "codepush";
    LocalPackage.DownloadDir = LocalPackage.RootDir + "/download";
    LocalPackage.DownloadUnzipDir = LocalPackage.DownloadDir + "/unzipped";
    LocalPackage.DeployDir = LocalPackage.RootDir + "/deploy";
    LocalPackage.VersionsDir = LocalPackage.DeployDir + "/versions";
    LocalPackage.PackageUpdateFileName = "update.zip";
    LocalPackage.PackageInfoFile = "currentPackage.json";
    LocalPackage.OldPackageInfoFile = "oldPackage.json";
    LocalPackage.DiffManifestFile = "hotcodepush.json";
    return LocalPackage;
}(Package));
module.exports = LocalPackage;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/nativeAppInfo.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var DefaultServerUrl = "https://codepush.azurewebsites.net/";
var NativeAppInfo = (function () {
    function NativeAppInfo() {
    }
    NativeAppInfo.getApplicationBuildTime = function (callback) {
        var timestampSuccess = function (timestamp) { callback(null, timestamp); };
        var timestampError = function () { callback(new Error("Could not get application timestamp."), null); };
        cordova.exec(timestampSuccess, timestampError, "CodePush", "getNativeBuildTime", []);
    };
    NativeAppInfo.getApplicationVersion = function (callback) {
        var versionSuccess = function (version) { callback(null, version); };
        var versionError = function () { callback(new Error("Could not get application version."), null); };
        cordova.exec(versionSuccess, versionError, "CodePush", "getAppVersion", []);
    };
    NativeAppInfo.getBinaryHash = function (callback) {
        var binaryHashSuccess = function (binaryHash) { callback(null, binaryHash); };
        var binaryHashError = function () { callback(new Error("Could not get binary hash."), null); };
        cordova.exec(binaryHashSuccess, binaryHashError, "CodePush", "getBinaryHash", []);
    };
    NativeAppInfo.getServerURL = function (serverCallback) {
        var serverSuccess = function (serverURL) { serverCallback(null, serverURL); };
        var serverError = function () { serverCallback(null, DefaultServerUrl); };
        cordova.exec(serverSuccess, serverError, "CodePush", "getServerURL", []);
    };
    NativeAppInfo.getDeploymentKey = function (deploymentKeyCallback) {
        var deploymentSuccess = function (deploymentKey) { deploymentKeyCallback(null, deploymentKey); };
        var deploymentError = function () { deploymentKeyCallback(new Error("Deployment key not found."), null); };
        cordova.exec(deploymentSuccess, deploymentError, "CodePush", "getDeploymentKey", []);
    };
    NativeAppInfo.isFailedUpdate = function (packageHash, checkCallback) {
        var win = function (failed) {
            checkCallback && checkCallback(!!failed);
        };
        var fail = function (e) {
            win(0);
        };
        cordova.exec(win, fail, "CodePush", "isFailedUpdate", [packageHash]);
    };
    NativeAppInfo.isFirstRun = function (packageHash, firstRunCallback) {
        var win = function (firstRun) {
            firstRunCallback(!!firstRun);
        };
        var fail = function () {
            firstRunCallback(false);
        };
        cordova.exec(win, fail, "CodePush", "isFirstRun", [packageHash]);
    };
    NativeAppInfo.isPendingUpdate = function (callback) {
        var win = function (firstRun) {
            callback(!!firstRun);
        };
        var fail = function () {
            callback(false);
        };
        cordova.exec(win, fail, "CodePush", "isPendingUpdate", []);
    };
    return NativeAppInfo;
}());
module.exports = NativeAppInfo;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/package.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var Package = (function () {
    function Package() {
    }
    return Package;
}());
module.exports = Package;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/remotePackage.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var LocalPackage = require("./localPackage");
var Package = require("./package");
var NativeAppInfo = require("./nativeAppInfo");
var CodePushUtil = require("./codePushUtil");
var Sdk = require("./sdk");
var RemotePackage = (function (_super) {
    __extends(RemotePackage, _super);
    function RemotePackage() {
        _super.apply(this, arguments);
    }
    RemotePackage.prototype.download = function (successCallback, errorCallback, downloadProgress) {
        var _this = this;
        try {
            CodePushUtil.logMessage("Downloading update");
            if (!this.downloadUrl) {
                CodePushUtil.invokeErrorCallback(new Error("The remote package does not contain a download URL."), errorCallback);
            }
            else {
                this.currentFileTransfer = new FileTransfer();
                var downloadSuccess = function (fileEntry) {
                    _this.currentFileTransfer = null;
                    fileEntry.file(function (file) {
                        NativeAppInfo.isFailedUpdate(_this.packageHash, function (installFailed) {
                            var localPackage = new LocalPackage();
                            localPackage.deploymentKey = _this.deploymentKey;
                            localPackage.description = _this.description;
                            localPackage.label = _this.label;
                            localPackage.appVersion = _this.appVersion;
                            localPackage.isMandatory = _this.isMandatory;
                            localPackage.packageHash = _this.packageHash;
                            localPackage.isFirstRun = false;
                            localPackage.failedInstall = installFailed;
                            localPackage.localPath = fileEntry.toInternalURL();
                            CodePushUtil.logMessage("Package download success: " + JSON.stringify(localPackage));
                            successCallback && successCallback(localPackage);
                            Sdk.reportStatusDownload(localPackage, localPackage.deploymentKey);
                        });
                    }, function (fileError) {
                        CodePushUtil.invokeErrorCallback(new Error("Could not access local package. Error code: " + fileError.code), errorCallback);
                    });
                };
                var downloadError = function (error) {
                    _this.currentFileTransfer = null;
                    CodePushUtil.invokeErrorCallback(new Error(error.body), errorCallback);
                };
                this.currentFileTransfer.onprogress = function (progressEvent) {
                    if (downloadProgress) {
                        var dp = { receivedBytes: progressEvent.loaded, totalBytes: progressEvent.total };
                        downloadProgress(dp);
                    }
                };
                this.currentFileTransfer.download(this.downloadUrl, cordova.file.dataDirectory + LocalPackage.DownloadDir + "/" + LocalPackage.PackageUpdateFileName, downloadSuccess, downloadError, true);
            }
        }
        catch (e) {
            CodePushUtil.invokeErrorCallback(new Error("An error occured while downloading the package. " + (e && e.message) ? e.message : ""), errorCallback);
        }
    };
    RemotePackage.prototype.abortDownload = function (abortSuccess, abortError) {
        try {
            if (this.currentFileTransfer) {
                this.currentFileTransfer.abort();
                abortSuccess && abortSuccess();
            }
        }
        catch (e) {
            abortError && abortError(e);
        }
    };
    return RemotePackage;
}(Package));
module.exports = RemotePackage;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/sdk.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var NativeAppInfo = require("./nativeAppInfo");
var HttpRequester = require("./httpRequester");
var Sdk = (function () {
    function Sdk() {
    }
    Sdk.getAcquisitionManager = function (callback, userDeploymentKey, contentType) {
        var resolveManager = function () {
            if (userDeploymentKey !== Sdk.DefaultConfiguration.deploymentKey || contentType) {
                var customConfiguration = {
                    deploymentKey: userDeploymentKey || Sdk.DefaultConfiguration.deploymentKey,
                    serverUrl: Sdk.DefaultConfiguration.serverUrl,
                    ignoreAppVersion: Sdk.DefaultConfiguration.ignoreAppVersion,
                    appVersion: Sdk.DefaultConfiguration.appVersion,
                    clientUniqueId: Sdk.DefaultConfiguration.clientUniqueId
                };
                var requester = new HttpRequester(contentType);
                var customAcquisitionManager = new AcquisitionManager(requester, customConfiguration);
                callback(null, customAcquisitionManager);
            }
            else if (Sdk.DefaultConfiguration.deploymentKey) {
                callback(null, Sdk.DefaultAcquisitionManager);
            }
            else {
                callback(new Error("No deployment key provided, please provide a default one in your config.xml or specify one in the call to checkForUpdate() or sync()."), null);
            }
        };
        if (Sdk.DefaultAcquisitionManager) {
            resolveManager();
        }
        else {
            NativeAppInfo.getServerURL(function (serverError, serverURL) {
                NativeAppInfo.getDeploymentKey(function (depolymentKeyError, deploymentKey) {
                    NativeAppInfo.getApplicationVersion(function (appVersionError, appVersion) {
                        if (!serverURL || !appVersion) {
                            callback(new Error("Could not get the CodePush configuration. Please check your config.xml file."), null);
                        }
                        else {
                            Sdk.DefaultConfiguration = {
                                deploymentKey: deploymentKey,
                                serverUrl: serverURL,
                                ignoreAppVersion: false,
                                appVersion: appVersion,
                                clientUniqueId: device.uuid
                            };
                            if (deploymentKey) {
                                Sdk.DefaultAcquisitionManager = new AcquisitionManager(new HttpRequester(), Sdk.DefaultConfiguration);
                            }
                            resolveManager();
                        }
                    });
                });
            });
        }
    };
    Sdk.reportStatusDeploy = function (pkg, status, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey, callback) {
        try {
            Sdk.getAcquisitionManager(function (error, acquisitionManager) {
                if (error) {
                    callback && callback(error, null);
                }
                else {
                    console.log("Reporting status: " + status + " label: " + (pkg && pkg.label) + " appVersion: " + Sdk.DefaultConfiguration.appVersion + " previousLabelOrAppVersion: " + previousLabelOrAppVersion + " previousDeploymentKey:" + previousDeploymentKey);
                    acquisitionManager.reportStatusDeploy(pkg, status, previousLabelOrAppVersion, previousDeploymentKey, callback);
                }
            }, currentDeploymentKey, "application/json");
        }
        catch (e) {
            callback && callback(new Error("An error occured while reporting the deployment status. " + e), null);
        }
    };
    Sdk.reportStatusDownload = function (pkg, deploymentKey, callback) {
        try {
            Sdk.getAcquisitionManager(function (error, acquisitionManager) {
                if (error) {
                    callback && callback(error, null);
                }
                else {
                    acquisitionManager.reportStatusDownload(pkg, callback);
                }
            }, deploymentKey, "application/json");
        }
        catch (e) {
            callback && callback(new Error("An error occured while reporting the download status. " + e), null);
        }
    };
    return Sdk;
}());
module.exports = Sdk;


================================================
FILE: plugins/cordova-plugin-code-push/bin/www/syncStatus.js
================================================

 /******************************************************************************************** 
 	 THIS FILE HAS BEEN COMPILED FROM TYPESCRIPT SOURCES. 
 	 PLEASE DO NOT MODIFY THIS FILE AS YOU WILL LOSE YOUR CHANGES WHEN RECOMPILING. 
 	 ALSO, PLEASE DO NOT SUBMIT PULL REQUESTS WITH CHANGES TO THIS FILE. 
 	 INSTEAD, EDIT THE TYPESCRIPT SOURCES UNDER THE WWW FOLDER. 
 	 FOR MORE INFORMATION, PLEASE SEE CONTRIBUTING.md. 
 *********************************************************************************************/ 


"use strict";
var SyncStatus;
(function (SyncStatus) {
    SyncStatus[SyncStatus["UP_TO_DATE"] = 0] = "UP_TO_DATE";
    SyncStatus[SyncStatus["UPDATE_INSTALLED"] = 1] = "UPDATE_INSTALLED";
    SyncStatus[SyncStatus["UPDATE_IGNORED"] = 2] = "UPDATE_IGNORED";
    SyncStatus[SyncStatus["ERROR"] = 3] = "ERROR";
    SyncStatus[SyncStatus["IN_PROGRESS"] = 4] = "IN_PROGRESS";
    SyncStatus[SyncStatus["CHECKING_FOR_UPDATE"] = 5] = "CHECKING_FOR_UPDATE";
    SyncStatus[SyncStatus["AWAITING_USER_ACTION"] = 6] = "AWAITING_USER_ACTION";
    SyncStatus[SyncStatus["DOWNLOADING_PACKAGE"] = 7] = "DOWNLOADING_PACKAGE";
    SyncStatus[SyncStatus["INSTALLING_UPDATE"] = 8] = "INSTALLING_UPDATE";
})(SyncStatus || (SyncStatus = {}));
module.exports = SyncStatus;


================================================
FILE: plugins/cordova-plugin-code-push/package.json
================================================
{
  "name": "cordova-plugin-code-push",
  "version": "1.7.1-beta",
  "description": "CodePush Plugin for Apache Cordova",
  "cordova": {
    "id": "cordova-plugin-code-push",
    "platforms": [
      "android",
      "ios"
    ]
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/Microsoft/cordova-plugin-code-push"
  },
  "keywords": [
    "cordova",
    "code",
    "push",
    "ecosystem:cordova",
    "cordova-android",
    "cordova-ios"
  ],
  "peerDependencies": {
    "code-push": ">=1.8.0-beta",
    "cordova-plugin-file-transfer": ">=1.3.0",
    "cordova-plugin-file": ">=3.0.0",
    "cordova-plugin-zip": ">=3.0.0",
    "cordova-plugin-dialogs": ">=1.1.1",
    "cordova-plugin-device": ">=1.1.0"
  },
  "author": "Microsoft Corporation",
  "license": "MIT",
  "devDependencies": {
    "gulp": "latest",
    "gulp-typescript": "latest",
    "gulp-insert": "latest",
    "gulp-tslint": "latest",
    "tslint": "latest",
    "del": "latest",
    "run-sequence": "latest",
    "q": "latest",
    "replace": "latest",
    "mkdirp": "latest",
    "express": "latest",
    "body-parser": "latest",
    "archiver": "latest"
  }
}


================================================
FILE: plugins/cordova-plugin-code-push/plugin.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
    <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="cordova-plugin-code-push" version="1.7.1-beta">
        <name>CodePush</name>
        <description>This plugin allows you to push code updates to your apps instantly using the CodePush service</description>
        <license>MIT</license>
        <keywords>cordova,code,push</keywords>
        <repo>https://github.com/Microsoft/cordova-plugin-code-push.git</repo>

        <dependency id="code-push" version=">=1.8.0-beta" />
        <dependency id="cordova-plugin-file" version=">=3.0.0" /> 
        <dependency id="cordova-plugin-file-transfer" version=">=1.3.0" /> 
        <dependency id="cordova-plugin-zip" version=">=3.0.0" />
        <dependency id="cordova-plugin-dialogs" version=">=1.1.1" />
        <dependency id="cordova-plugin-device" version=">=1.1.0" />

        <js-module src="bin/www/codePush.js" name="codePush">
            <clobbers target="codePush" />
        </js-module>

        <js-module src="bin/www/localPackage.js" name="localPackage">
            <clobbers target="LocalPackage" />
        </js-module>

        <js-module src="bin/www/remotePackage.js" name="remotePackage">
            <clobbers target="RemotePackage" />
        </js-module>

        <js-module src="bin/www/syncStatus.js" name="syncStatus">
            <clobbers target="SyncStatus" />
        </js-module>

        <js-module src="bin/www/installMode.js" name="installMode">
            <clobbers target="InstallMode" />
        </js-module>

        <js-module src="bin/www/codePushUtil.js" name="codePushUtil">
            <runs/>
        </js-module>

        <js-module src="bin/www/fileUtil.js" name="fileUtil">
            <runs/>
        </js-module>

        <js-module src="bin/www/httpRequester.js" name="httpRequester">
            <runs/>
        </js-module>

        <js-module src="bin/www/nativeAppInfo.js" name="nativeAppInfo">
            <runs/>
        </js-module>

        <js-module src="bin/www/package.js" name="package">
            <runs/>
        </js-module>

        <js-module src="bin/www/sdk.js" name="sdk">
            <runs/>
        </js-module>

        <platform name="android">
            <framework src="src/android/build-extras.gradle" custom="true" type="gradleReference" />
            <source-file src="src/android/CodePush.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/CodePushPackageManager.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/CodePushPackageMetadata.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/CodePushPreferences.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/CodePushReportingManager.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/InstallMode.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/InstallOptions.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/Utilities.java" target-dir="src/com/microsoft/cordova" />
            <source-file src="src/android/UpdateHashUtils.java" target-dir="src/com/microsoft/cordova" />
            <config-file target="config.xml" parent="/*">
                <feature name="CodePush">
                    <param name="android-package" value="com.microsoft.cordova.CodePush" />
                    <param name="onload" value="true" />
                </feature>
            </config-file>
        </platform>

        <platform name="ios">
            <header-file src="src/ios/CodePush.h" />
            <source-file src="src/ios/CodePush.m" />
            <header-file src="src/ios/CodePushPackageMetadata.h" />
            <source-file src="src/ios/CodePushPackageMetadata.m" />
            <header-file src="src/ios/CodePushPackageManager.h" />
            <source-file src="src/ios/CodePushPackageManager.m" />
            <source-file src="src/ios/CodePushReportingManager.m" />
            <header-file src="src/ios/CodePushReportingManager.h" />
            <header-file src="src/ios/Utilities.h" />
            <source-file src="src/ios/Utilities.m" />
            <header-file src="src/ios/InstallOptions.h" />
            <source-file src="src/ios/InstallOptions.m" />
            <header-file src="src/ios/InstallMode.h" />
            <source-file src="src/ios/UpdateHashUtils.m" />
            <header-file src="src/ios/UpdateHashUtils.h" />
            <config-file target="config.xml" parent="/*">
                <feature name="CodePush">
                    <param name="ios-package" value="CodePush" />
                    <param name="onload" value="true" />
                </feature>
            </config-file>
        </platform>
    </plugin>


================================================
FILE: plugins/cordova-plugin-code-push/samples/advanced/README.md
================================================
# Cordova CodePush Sample App - Advanced

This is a sample application demonstrating a more advanced way you could integrate CodePush in your Cordova application. All the CodePush specific code is found in [index.js](/samples/advanced/www/js/index.js). The CodePush configuration is found in [config.xml](/samples/advanced/config.xml).

When the application loads, on the `deviceready` event, we poll the CodePush server for an update. If an update is available, we prompt the user to install it. If the user approves it, the update is installed and the application is reloaded.

For more information on how to get started see our [Getting Started](/README.md#getting-started) section.


================================================
FILE: plugins/cordova-plugin-code-push/samples/advanced/config.xml
================================================
<?xml version='1.0' encoding='utf-8'?>
    <widget id="io.cordova.hellocodepush.advanced" version="1.5.0-beta" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
        <name>CodePushAdvanced</name>
        <description>
            A sample Apache Cordova application that uses the CodePush service.
        </description>

        <!-- The contents of the main page can change between Code-Push updates, but not the name. -->
        <content src="index.html" />

        <plugin name="cordova-plugin-whitelist" version="1" />
        <plugin name="cordova-plugin-code-push" version="1.5.0-beta" />

        <!-- This sample application can communicate with any external domain.
         If you want to restrict this, don't forget to enable communication with the Code-Push server URL as well. -->
        <access origin="*" />

        <allow-intent href="http://*/*" />
        <allow-intent href="https://*/*" />
        <allow-intent href="tel:*" />
        <allow-intent href="sms:*" />
        <allow-intent href="mailto:*" />
        <allow-intent href="geo:*" />

        <platform name="android">
            <allow-intent href="market:*" />
            <!-- CodePush deployment key for the Android platform. -->
            <preference name="CodePushDeploymentKey" value="TODO_ADD_ANDROID_DEPLOYMENT_KEY" />
        </platform>

        <platform name="ios">
            <allow-intent href="itms:*" />
            <allow-intent href="itms-apps:*" />
            <!-- CodePush deployment key for the iOS platform. -->
            <preference name="CodePushDeploymentKey" value="TODO_ADD_IOS_DEPLOYMENT_KEY" />
        </platform>
    </widget>

================================================
FILE: plugins/cordova-plugin-code-push/samples/advanced/www/css/index.css
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
* {
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}

body {
    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
    background-color:#E4E4E4;
    background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #A7A7A7),
        color-stop(0.51, #E4E4E4)
    );
    background-attachment:fixed;
    font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    font-size:12px;
    height:100%;
    margin:0px;
    padding:0px;
    text-transform:uppercase;
    width:100%;
}

/* Portrait layout (default) */
.app {
    background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
    position:absolute;             /* position in the center of the screen */
    left:50%;
    top:50%;
    height:50px;                   /* text area height */
    width:225px;                   /* text area width */
    text-align:center;
    padding:180px 0px 0px 0px;     /* image height is 200px (bottom 20px are overlapped with text) */
    margin:-115px 0px 0px -112px;  /* offset vertical: half of image height and text area height */
                                   /* offset horizontal: half of text area width */
}

/* Landscape layout (with min-width) */
@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
    .app {
        background-position:left center;
        padding:75px 0px 75px 170px;  /* padding-top + padding-bottom + text area = image height */
        margin:-90px 0px 0px -198px;  /* offset vertical: half of image height */
                                      /* offset horizontal: half of image width and text area width */
    }
}

h1 {
    font-size:24px;
    font-weight:normal;
    margin:0px;
    overflow:visible;
    padding:0px;
    text-align:center;
}

.event {
    border-radius:4px;
    -webkit-border-radius:4px;
    color:#FFFFFF;
    font-size:12px;
    margin:0px 30px;
    padding:2px 0px;
}

.event.listening {
    background-color:#333333;
    display:block;
}

.event.received {
    background-color:#4B946A;
    display:none;
}

@keyframes fade {
    from { opacity: 1.0; }
    50% { opacity: 0.4; }
    to { opacity: 1.0; }
}
 
@-webkit-keyframes fade {
    from { opacity: 1.0; }
    50% { opacity: 0.4; }
    to { opacity: 1.0; }
}
 
.blink {
    animation:fade 3000ms infinite;
    -webkit-animation:fade 3000ms infinite;
}


================================================
FILE: plugins/cordova-plugin-code-push/samples/advanced/www/index.html
================================================
<!DOCTYPE html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<html>
    <head>
        <!--
        Customize this policy to fit your own app's needs. For more guidance, see:
            https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md#content-security-policy
        Some notes:
            * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
            * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
            * Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
                * Enable inline JS: add 'unsafe-inline' to default-src
            * CodePush users, you need to add the CodePush server URL to the CSP's default-src
        -->
        <meta http-equiv="Content-Security-Policy" content="default-src 'self' https://codepush.azurewebsites.net/ data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="stylesheet" type="text/css" href="css/index.css">
        <title>Hello World</title>
    </head>
    <body>
        <div class="app">
            <h1>Hello, CodePush (Version 1)</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event received">Device is Ready</p>
            </div>
        </div>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>


================================================
FILE: plugins/cordova-plugin-code-push/samples/advanced/www/js/index.js
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
var app = {
    // Application Constructor
    initialize: function () {
        this.bindEvents();
    },
    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function () {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicitly call 'app.receivedEvent(...);'
    onDeviceReady: function () {
        // Migrate data from older versions
        window.codePush.getCurrentPackage(function (currentPackage) {
            // getCurrentPackage returns null if no update was installed (app store version)
            if (currentPackage && currentPackage.isFirstRun) {
                // First run after an update, migrate data
                if (currentPackage.appVersion === "1.0.0") {
                    // migrate data from store version to version 1.0.0
                } else if (currentPackage.appVersion === "2.0.0") {
                    // migrate data to version 2.0.0
                }
            }
            
            // continue application initialization
            app.receivedEvent('deviceready');
            
            // Wait for 5s after the application started and check for updates.
            setTimeout(app.checkAndInstallUpdates, 5000);
            
            // Notify the plugin that update succeeded.
            window.codePush.notifyApplicationReady();

        }, app.getErrorHandler("Error while retrieving the current package."));
    },
    // Update DOM on a Received Event
    receivedEvent: function (id) {
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    },
    // Uses the CodePush service configured in config.xml to check for updates, prompt the user and install them.
    checkAndInstallUpdates: function () {
        
        // Check the CodePush server for updates.
        console.log("Checking for updates...");
        window.codePush.checkForUpdate(app.checkSuccess, app.getErrorHandler("Checking for update failed."));
    },
    // Called after the CodePush server responded the checkForUpdate call
    checkSuccess: function (remotePackage) {
        if (!remotePackage) {
            // A null remotePackage means that the server successfully responded, but there is no update available.
            console.log("The application is up to date.");
        }
        else {
            console.log("There is an update available. Remote package:" + JSON.stringify(remotePackage));
                
            // Called after the user confirmed or canceled the update 
            function onConfirm(buttonIndex) {
                switch (buttonIndex) {
                    case 1:
                        /* Install */
                        console.log("Downloading package...");
                        remotePackage.download(app.onDownloadSuccess, app.getErrorHandler("Downloading the update package failed."));
                        break;
                    case 2:
                        /* Cancel */
                        /* nothing to do */
                        break;
                }
            }

            // Ask the user if they want to download and install the update
            navigator.notification.confirm(
                'An update is available. Would you like to download and install it?',
                onConfirm,
                'Update'
                ['Install', 'Cancel']);
        }
    },
    // Called after an update package was downloaded sucessfully.
    onDownloadSuccess: function (localPackage) {
        console.log("Local package downloaded. Local package: " + localPackage.localPath);

        var installCallback = function () {
            console.log("Install succeeded");
        };

        console.log("Installing package...");
        localPackage.install(installCallback, app.getErrorHandler("Installation failed."), { installMode: InstallMode.IMMEDIATE });
    },
    // Returns an error handler that logs the error to the console and displays a notification containing the error message.
    getErrorHandler: function (message) {
        // Displays a dialog containing a message.
        var displayErrorMessage = function (message) {
            navigator.notification.alert(
                message,
                null,
                'CodePush',
                'OK');
        };

        return function (error) {
            console.log(message + ":" + error.message);
            displayErrorMessage(message + ":" + error.message);
        }
    }
};

app.initialize();

================================================
FILE: plugins/cordova-plugin-code-push/samples/basic/README.md
================================================
# Cordova CodePush Sample App - Basic

This is a sample application demonstrating the CodePush sync operation. This operation offers a very easy way of integrating CodePush in your application, by invoking only one function. All the CodePush specific code is found in [index.js](/samples/basic/www/js/index.js). The CodePush configuration is found in [config.xml](/samples/basic/config.xml).

When the application loads, on the `deviceready` event, we invoke sync. This checks for an update, and if one is available, the user will be prompted to install it. Once the user accepts it, the update is installed and the application reloaded. See [SyncOptions](/README.md#syncoptions) in our documentation for customizing the sync behavior. 

For more information on how to get started see our [Getting Started](/README.md#getting-started) section.


================================================
FILE: plugins/cordova-plugin-code-push/samples/basic/config.xml
================================================
<?xml version='1.0' encoding='utf-8'?>
    <widget id="io.cordova.hellocodepush.basic" version="1.5.0-beta" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
        <name>CodePushBasic</name>
        <description>
            A sample Apache Cordova application that uses the CodePush service.
        </description>

        <!-- The contents of the main page can change between Code-Push updates, but not the name. -->
        <content src="index.html" />

        <plugin name="cordova-plugin-whitelist" version="1" />
        <plugin name="cordova-plugin-code-push" version="1.5.0-beta" />

        <!-- This sample application can communicate with any external domain.
         If you want to restrict this, don't forget to enable communication with the Code-Push server URL as well. -->
        <access origin="*" />

        <allow-intent href="http://*/*" />
        <allow-intent href="https://*/*" />
        <allow-intent href="tel:*" />
        <allow-intent href="sms:*" />
        <allow-intent href="mailto:*" />
        <allow-intent href="geo:*" />

        <platform name="android">
            <allow-intent href="market:*" />
            <!-- CodePush deployment key for the Android platform. -->
            <preference name="CodePushDeploymentKey" value="TODO_ADD_ANDROID_DEPLOYMENT_KEY" />
        </platform>

        <platform name="ios">
            <allow-intent href="itms:*" />
            <allow-intent href="itms-apps:*" />
            <!-- CodePush deployment key for the iOS platform. -->
            <preference name="CodePushDeploymentKey" value="TODO_ADD_IOS_DEPLOYMENT_KEY" />
        </platform>
    </widget>

================================================
FILE: plugins/cordova-plugin-code-push/samples/basic/www/css/index.css
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
* {
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}

body {
    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
    background-color:#E4E4E4;
    background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);
    background-image:-webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #A7A7A7),
        color-stop(0.51, #E4E4E4)
    );
    background-attachment:fixed;
    font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    font-size:12px;
    height:100%;
    margin:0px;
    padding:0px;
    text-transform:uppercase;
    width:100%;
}

/* Portrait layout (default) */
.app {
    background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */
    position:absolute;             /* position in the center of the screen */
    left:50%;
    top:50%;
    height:50px;                   /* text area height */
    width:225px;                   /* text area width */
    text-align:center;
    padding:180px 0px 0px 0px;     /* image height is 200px (bottom 20px are overlapped with text) */
    margin:-115px 0px 0px -112px;  /* offset vertical: half of image height and text area height */
                                   /* offset horizontal: half of text area width */
}

/* Landscape layout (with min-width) */
@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
    .app {
        background-position:left center;
        padding:75px 0px 75px 170px;  /* padding-top + padding-bottom + text area = image height */
        margin:-90px 0px 0px -198px;  /* offset vertical: half of image height */
                                      /* offset horizontal: half of image width and text area width */
    }
}

h1 {
    font-size:24px;
    font-weight:normal;
    margin:0px;
    overflow:visible;
    padding:0px;
    text-align:center;
}

.event {
    border-radius:4px;
    -webkit-border-radius:4px;
    color:#FFFFFF;
    font-size:12px;
    margin:0px 30px;
    padding:2px 0px;
}

.event.listening {
    background-color:#333333;
    display:block;
}

.event.received {
    background-color:#4B946A;
    display:none;
}

@keyframes fade {
    from { opacity: 1.0; }
    50% { opacity: 0.4; }
    to { opacity: 1.0; }
}
 
@-webkit-keyframes fade {
    from { opacity: 1.0; }
    50% { opacity: 0.4; }
    to { opacity: 1.0; }
}
 
.blink {
    animation:fade 3000ms infinite;
    -webkit-animation:fade 3000ms infinite;
}


================================================
FILE: plugins/cordova-plugin-code-push/samples/basic/www/index.html
================================================
<!DOCTYPE html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<html>
    <head>
        <!--
        Customize this policy to fit your own app's needs. For more guidance, see:
            https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md#content-security-policy
        Some notes:
            * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
            * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
            * Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
                * Enable inline JS: add 'unsafe-inline' to default-src
            * CodePush users, you need to add the CodePush server URL to the CSP's default-src
        -->
        <meta http-equiv="Content-Security-Policy" content="default-src 'self' https://codepush.azurewebsites.net/ data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="stylesheet" type="text/css" href="css/index.css">
        <title>Hello World</title>
    </head>
    <body>
        <div class="app">
            <h1>Hello, CodePush (Version 1)</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event received">Device is Ready</p>
            </div>
        </div>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>


================================================
FILE: plugins/cordova-plugin-code-push/samples/basic/www/js/index.js
================================================
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
var app = {
    // Application Constructor
    initialize: function () {
        this.bindEvents();
    },
    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function () {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicitly call 'app.receivedEvent(...);'
    onDeviceReady: function () {
        
        /* Invoke sync with the custom options, which enables user interaction.
           For customizing the sync behavior, see SyncOptions in the CodePush documentation. */
        window.codePush.sync(
            function (syncStatus) {
                switch (syncStatus) {
                    // Result (final) statuses
                    case SyncStatus.UPDATE_INSTALLED:
                        app.displayMessage("The update was installed successfully. For InstallMode.ON_NEXT_RESTART, the changes will be visible after application restart. ");
                        break;
                    case SyncStatus.UP_TO_DATE:
                        app.displayMessage("The application is up to date.");
                        break;
                    case SyncStatus.UPDATE_IGNORED:
                        app.displayMessage("The user decided not to install the optional update.");
                        break;
                    case SyncStatus.ERROR:
                        app.displayMessage("An error occured while checking for updates");
                        break;
                    
                    // Intermediate (non final) statuses
                    case SyncStatus.CHECKING_FOR_UPDATE:
                        console.log("Checking for update.");
                        break;
                    case SyncStatus.AWAITING_USER_ACTION:
                        console.log("Alerting user.");
                        break;
                    case SyncStatus.DOWNLOADING_PACKAGE:
                        console.log("Downloading package.");
                        break;
                    case SyncStatus.INSTALLING_UPDATE:
                        console.log("Installing update");
                        break;
                }
            },
            {
                installMode: InstallMode.ON_NEXT_RESTART, updateDialog: true
            },
            function (downloadProgress) {
                console.log("Downloading " + downloadProgress.receivedBytes + " of " + downloadProgress.totalBytes + " bytes.");
            });
            
        // continue application initialization
        app.receivedEvent('deviceready');
    },
    // Update DOM on a Received Event
    receivedEvent: function (id) {
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');

        console.log('Received Event: ' + id);
    },
    // Displays an alert dialog containing a message.
    displayMessage: function (message) {
        navigator.notification.alert(
            message,
            null,
            'CodePush',
            'OK');
    }
};

app.initialize();

================================================
FILE: plugins/cordova-plugin-code-push/src/android/CodePush.java
================================================
package com.microsoft.cordova;

import android.content.pm.PackageManager;
import android.os.AsyncTask;

import org.apache.cordova.CallbackContext;
import org.apache.cordova.ConfigXmlParser;
import org.apache.cordova.CordovaArgs;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.json.JSONException;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.security.NoSuchAlgorithmException;

import java.util.Date;

/**
 * Native Android CodePush Cordova Plugin.
 */
public class CodePush extends CordovaPlugin {

    public static final String RESOURCES_BUNDLE = "resources.arsc";
    private static final String DEPLOYMENT_KEY_PREFERENCE = "codepushdeploymentkey";
    private static final String WWW_ASSET_PATH_PREFIX = "file:///android_asset/www/";
    private static boolean ShouldClearHistoryOnLoad = false;
    private CordovaWebView mainWebView;
    private CodePushPackageManager codePushPackageManager;
    private CodePushReportingManager codePushReportingManager;
    private boolean pluginDestroyed = false;
    private boolean didUpdate = false;
    private boolean didStartApp = false;
    private long lastPausedTimeMs = 0;

    @Override
    public void initialize(CordovaInterface cordova, CordovaWebView webView) {
        super.initialize(cordova, webView);
        CodePushPreferences codePushPreferences = new CodePushPreferences(cordova.getActivity());
        codePushPackageManager = new CodePushPackageManager(cordova.getActivity(), codePushPreferences);
        codePushReportingManager = new CodePushReportingManager(cordova.getActivity(), codePushPreferences);
        mainWebView = webView;
    }

    @Override
    public boolean execute(String action, CordovaArgs args, final CallbackContext callbackContext) {
        if ("getServerURL".equals(action)) {
            this.returnStringPreference("codepushserverurl", callbackContext);
            return true;
        } else if ("getDeploymentKey".equals(action)) {
            this.returnStringPreference(DEPLOYMENT_KEY_PREFERENCE, callbackContext);
            return true;
        } else if ("getNativeBuildTime".equals(action)) {
            return execGetNativeBuildTime(callbackContext);
        } else if ("getAppVersion".equals(action)) {
            return execGetAppVersion(callbackContext);
        } else if ("getBinaryHash".equals(action)) {
            return execGetBinaryHash(callbackContext);
        } else if ("preInstall".equals(action)) {
            return execPreInstall(args, callbackContext);
        } else if ("install".equals(action)) {
            return execInstall(args, callbackContext);
        } else if ("updateSuccess".equals(action)) {
            return execUpdateSuccess(callbackContext);
        } else if ("restartApplication".equals(action)) {
            return execRestartApplication(args, callbackContext);
        } else if ("isPendingUpdate".equals(action)) {
            return execIsPendingUpdate(args, callbackContext);
        } else if ("isFailedUpdate".equals(action)) {
            return execIsFailedUpdate(args, callbackContext);
        } else if ("isFirstRun".equals(action)) {
            return execIsFirstRun(args, callbackContext);
        } else {
            return false;
        }
    }

    private boolean execGetBinaryHash(final CallbackContext callbackContext) {
        String cachedBinaryHash = codePushPackageManager.getCachedBinaryHash();
        if (cachedBinaryHash == null) {
            new AsyncTask<Void, Void, Void>() {
                @Override
                protected Void doInBackground(Void... params) {
                    try {
                        String binaryHash = UpdateHashUtils.getBinaryHash(cordova.getActivity());
                        codePushPackageManager.saveBinaryHash(binaryHash);
                        callbackContext.success(binaryHash);
                    } catch (IOException e) {
                        callbackContext.error("An error occurred when trying to get the hash of the binary contents. " + e.getMessage());
                    } catch (NoSuchAlgorithmException e) {
                        callbackContext.error("An error occurred when trying to get the hash of the binary contents. " + e.getMessage());
                    }

                    return null;
                }
            }.execute();
        } else {
            callbackContext.success(cachedBinaryHash);
        }

        return true;
    }

    private boolean execUpdateSuccess(CallbackContext callbackContext) {
        if (this.codePushPackageManager.isFirstRun()) {
            this.codePushPackageManager.saveFirstRunFlag();
            /* save reporting status for first install */
            try {
                String appVersion = Utilities.getAppVersionName(cordova.getActivity());
                codePushReportingManager.reportStatus(CodePushReportingManager.Status.STORE_VERSION, null, appVersion, mainWebView.getPreferences().getString(DEPLOYMENT_KEY_PREFERENCE, null), this.mainWebView);
            } catch (PackageManager.NameNotFoundException e) {
                // Should not happen unless the appVersion is not specified, in which case we can't report anything anyway.
                e.printStackTrace();
            }
        }

        if (this.codePushPackageManager.installNeedsConfirmation()) {
            /* save reporting status */
            CodePushPackageMetadata currentMetadata = this.codePushPackageManager.getCurrentPackageMetadata();
            codePushReportingManager.reportStatus(CodePushReportingManager.Status.UPDATE_CONFIRMED, currentMetadata.label, currentMetadata.appVersion, currentMetadata.deploymentKey, this.mainWebView);
        }

        this.codePushPackageManager.clearInstallNeedsConfirmation();
        this.cleanOldPackageSilently();
        callbackContext.success();

        return true;
    }

    private boolean execIsFirstRun(CordovaArgs args, CallbackContext callbackContext) {
        try {
            boolean isFirstRun = false;
            String packageHash = args.getString(0);
            CodePushPackageMetadata currentPackageMetadata = codePushPackageManager.getCurrentPackageMetadata();
            if (null != currentPackageMetadata) {
                /* This is the first run for a package if we just updated, and the current package hash matches the one provided. */
                isFirstRun = (null != packageHash
                        && !packageHash.isEmpty()
                        && packageHash.equals(currentPackageMetadata.packageHash)
                        && didUpdate);
            }
            callbackContext.success(isFirstRun ? 1 : 0);
        } catch (JSONException e) {
            callbackContext.error("Invalid package hash. " + e.getMessage());
        }
        return true;
    }

    private boolean execIsPendingUpdate(CordovaArgs args, CallbackContext callbackContext) {
        try {
            InstallOptions pendingInstall = this.codePushPackageManager.getPendingInstall();
            callbackContext.success((pendingInstall != null) ? 1 : 0);
        } catch (Exception e) {
            callbackContext.error("An error occurred. " + e.getMessage());
        }
        return true;
    }

    private boolean execIsFailedUpdate(CordovaArgs args, CallbackContext callbackContext) {
        try {
            final String packageHash = args.getString(0);
            boolean isFailedUpdate = this.codePushPackageManager.isFailedUpdate(packageHash);
            callbackContext.success(isFailedUpdate ? 1 : 0);
   
Download .txt
gitextract__8kjs166/

├── .gitignore
├── LICENSE
├── README.md
├── config.xml
├── gulpfile.js
├── package.json
├── plugins/
│   ├── android.json
│   ├── code-push/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── script/
│   │   │   ├── acquisition-sdk.js
│   │   │   ├── index.js
│   │   │   ├── management-sdk.js
│   │   │   └── types.js
│   │   └── test/
│   │       ├── acquisition-rest-mock.js
│   │       ├── acquisition-sdk.js
│   │       ├── management-sdk.js
│   │       └── superagent-mock-config.js
│   ├── cordova-plugin-appavailability/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── AppAvailability.java
│   │   │   └── ios/
│   │   │       ├── AppAvailability.h
│   │   │       └── AppAvailability.m
│   │   └── www/
│   │       └── AppAvailability.js
│   ├── cordova-plugin-code-push/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE.md
│   │   ├── bin/
│   │   │   └── www/
│   │   │       ├── codePush.js
│   │   │       ├── codePushUtil.js
│   │   │       ├── fileUtil.js
│   │   │       ├── httpRequester.js
│   │   │       ├── installMode.js
│   │   │       ├── localPackage.js
│   │   │       ├── nativeAppInfo.js
│   │   │       ├── package.js
│   │   │       ├── remotePackage.js
│   │   │       ├── sdk.js
│   │   │       └── syncStatus.js
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── samples/
│   │   │   ├── advanced/
│   │   │   │   ├── README.md
│   │   │   │   ├── config.xml
│   │   │   │   └── www/
│   │   │   │       ├── css/
│   │   │   │       │   └── index.css
│   │   │   │       ├── index.html
│   │   │   │       └── js/
│   │   │   │           └── index.js
│   │   │   └── basic/
│   │   │       ├── README.md
│   │   │       ├── config.xml
│   │   │       └── www/
│   │   │           ├── css/
│   │   │           │   └── index.css
│   │   │           ├── index.html
│   │   │           └── js/
│   │   │               └── index.js
│   │   └── src/
│   │       ├── android/
│   │       │   ├── CodePush.java
│   │       │   ├── CodePushPackageManager.java
│   │       │   ├── CodePushPackageMetadata.java
│   │       │   ├── CodePushPreferences.java
│   │       │   ├── CodePushReportingManager.java
│   │       │   ├── InstallMode.java
│   │       │   ├── InstallOptions.java
│   │       │   ├── UpdateHashUtils.java
│   │       │   ├── Utilities.java
│   │       │   └── build-extras.gradle
│   │       └── ios/
│   │           ├── CodePush.h
│   │           ├── CodePush.m
│   │           ├── CodePushPackageManager.h
│   │           ├── CodePushPackageManager.m
│   │           ├── CodePushPackageMetadata.h
│   │           ├── CodePushPackageMetadata.m
│   │           ├── CodePushReportingManager.h
│   │           ├── CodePushReportingManager.m
│   │           ├── InstallMode.h
│   │           ├── InstallOptions.h
│   │           ├── InstallOptions.m
│   │           ├── UpdateHashUtils.h
│   │           ├── UpdateHashUtils.m
│   │           ├── Utilities.h
│   │           └── Utilities.m
│   ├── cordova-plugin-compat/
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   └── src/
│   │       └── android/
│   │           └── PermissionHelper.java
│   ├── cordova-plugin-device/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Device.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVDevice.h
│   │   │   │   └── CDVDevice.m
│   │   │   ├── osx/
│   │   │   │   ├── CDVDevice.h
│   │   │   │   └── CDVDevice.m
│   │   │   ├── tizen/
│   │   │   │   └── DeviceProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── device.cpp
│   │   │   │   ├── device.h
│   │   │   │   └── device.js
│   │   │   ├── windows/
│   │   │   │   └── DeviceProxy.js
│   │   │   └── wp/
│   │   │       └── Device.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       └── device.js
│   ├── cordova-plugin-dialogs/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Notification.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── firefoxos/
│   │   │   │   └── notification.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVNotification.h
│   │   │   │   └── CDVNotification.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── notification.cpp
│   │   │   │   ├── notification.h
│   │   │   │   └── notification.qml
│   │   │   ├── windows/
│   │   │   │   └── NotificationProxy.js
│   │   │   └── wp/
│   │   │       ├── Notification.cs
│   │   │       ├── NotificationBox.xaml
│   │   │       └── NotificationBox.xaml.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── android/
│   │       │   └── notification.js
│   │       ├── blackberry10/
│   │       │   └── beep.js
│   │       ├── browser/
│   │       │   └── notification.js
│   │       ├── firefoxos/
│   │       │   └── notification.css
│   │       └── notification.js
│   ├── cordova-plugin-file/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   ├── plugins.md
│   │   │   ├── ru/
│   │   │   │   ├── index.md
│   │   │   │   └── plugins.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       ├── index.md
│   │   │       └── plugins.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   ├── AssetFilesystem.java
│   │   │   │   ├── ContentFilesystem.java
│   │   │   │   ├── DirectoryManager.java
│   │   │   │   ├── EncodingException.java
│   │   │   │   ├── FileExistsException.java
│   │   │   │   ├── FileUtils.java
│   │   │   │   ├── Filesystem.java
│   │   │   │   ├── InvalidModificationException.java
│   │   │   │   ├── LocalFilesystem.java
│   │   │   │   ├── LocalFilesystemURL.java
│   │   │   │   ├── NoModificationAllowedException.java
│   │   │   │   ├── PendingRequests.java
│   │   │   │   ├── TypeMismatchException.java
│   │   │   │   └── build-extras.gradle
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── FileProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── FileProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVAssetLibraryFilesystem.h
│   │   │   │   ├── CDVAssetLibraryFilesystem.m
│   │   │   │   ├── CDVFile.h
│   │   │   │   ├── CDVFile.m
│   │   │   │   ├── CDVLocalFilesystem.h
│   │   │   │   └── CDVLocalFilesystem.m
│   │   │   ├── osx/
│   │   │   │   ├── CDVFile.h
│   │   │   │   ├── CDVFile.m
│   │   │   │   ├── CDVLocalFilesystem.h
│   │   │   │   └── CDVLocalFilesystem.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── file.cpp
│   │   │   │   └── file.h
│   │   │   ├── windows/
│   │   │   │   └── FileProxy.js
│   │   │   └── wp/
│   │   │       └── File.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   ├── src/
│   │   │   │   └── android/
│   │   │   │       └── TestContentProvider.java
│   │   │   ├── tests.js
│   │   │   └── www/
│   │   │       └── fixtures/
│   │   │           └── asset-test/
│   │   │               └── asset-test.txt
│   │   └── www/
│   │       ├── DirectoryEntry.js
│   │       ├── DirectoryReader.js
│   │       ├── Entry.js
│   │       ├── File.js
│   │       ├── FileEntry.js
│   │       ├── FileError.js
│   │       ├── FileReader.js
│   │       ├── FileSystem.js
│   │       ├── FileUploadOptions.js
│   │       ├── FileUploadResult.js
│   │       ├── FileWriter.js
│   │       ├── Flags.js
│   │       ├── LocalFileSystem.js
│   │       ├── Metadata.js
│   │       ├── ProgressEvent.js
│   │       ├── android/
│   │       │   └── FileSystem.js
│   │       ├── blackberry10/
│   │       │   ├── .jshintrc
│   │       │   ├── FileProxy.js
│   │       │   ├── FileSystem.js
│   │       │   ├── copyTo.js
│   │       │   ├── createEntryFromNative.js
│   │       │   ├── getDirectory.js
│   │       │   ├── getFile.js
│   │       │   ├── getFileMetadata.js
│   │       │   ├── getMetadata.js
│   │       │   ├── getParent.js
│   │       │   ├── info.js
│   │       │   ├── moveTo.js
│   │       │   ├── readAsArrayBuffer.js
│   │       │   ├── readAsBinaryString.js
│   │       │   ├── readAsDataURL.js
│   │       │   ├── readAsText.js
│   │       │   ├── readEntries.js
│   │       │   ├── remove.js
│   │       │   ├── removeRecursively.js
│   │       │   ├── requestAllFileSystems.js
│   │       │   ├── requestAnimationFrame.js
│   │       │   ├── requestFileSystem.js
│   │       │   ├── resolveLocalFileSystemURI.js
│   │       │   ├── setMetadata.js
│   │       │   ├── truncate.js
│   │       │   └── write.js
│   │       ├── browser/
│   │       │   ├── FileSystem.js
│   │       │   ├── Preparing.js
│   │       │   └── isChrome.js
│   │       ├── fileSystemPaths.js
│   │       ├── fileSystems-roots.js
│   │       ├── fileSystems.js
│   │       ├── firefoxos/
│   │       │   └── FileSystem.js
│   │       ├── ios/
│   │       │   └── FileSystem.js
│   │       ├── osx/
│   │       │   └── FileSystem.js
│   │       ├── requestFileSystem.js
│   │       ├── resolveLocalFileSystemURI.js
│   │       ├── ubuntu/
│   │       │   ├── FileSystem.js
│   │       │   ├── FileWriter.js
│   │       │   └── fileSystems-roots.js
│   │       └── wp/
│   │           └── FileUploadOptions.js
│   ├── cordova-plugin-file-transfer/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── amazon/
│   │   │   │   └── FileTransfer.java
│   │   │   ├── android/
│   │   │   │   ├── FileProgressResult.java
│   │   │   │   ├── FileTransfer.java
│   │   │   │   └── FileUploadResult.java
│   │   │   ├── ios/
│   │   │   │   ├── CDVFileTransfer.h
│   │   │   │   └── CDVFileTransfer.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── file-transfer.cpp
│   │   │   │   └── file-transfer.h
│   │   │   ├── windows/
│   │   │   │   └── FileTransferProxy.js
│   │   │   └── wp/
│   │   │       └── FileTransfer.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── FileTransfer.js
│   │       ├── FileTransferError.js
│   │       ├── blackberry10/
│   │       │   ├── .jshintrc
│   │       │   ├── FileTransfer.js
│   │       │   ├── FileTransferProxy.js
│   │       │   └── xhrFileTransfer.js
│   │       ├── browser/
│   │       │   └── FileTransfer.js
│   │       ├── firefoxos/
│   │       │   └── FileTransferProxy.js
│   │       └── wp7/
│   │           └── base64.js
│   ├── cordova-plugin-inappbrowser/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── amazon/
│   │   │   │   ├── InAppBrowser.java
│   │   │   │   └── InAppChromeClient.java
│   │   │   ├── android/
│   │   │   │   ├── InAppBrowser.java
│   │   │   │   ├── InAppBrowserDialog.java
│   │   │   │   └── InAppChromeClient.java
│   │   │   ├── blackberry10/
│   │   │   │   ├── README.md
│   │   │   │   └── doc/
│   │   │   │       ├── de/
│   │   │   │       │   └── README.md
│   │   │   │       ├── es/
│   │   │   │       │   └── README.md
│   │   │   │       ├── fr/
│   │   │   │       │   └── README.md
│   │   │   │       ├── it/
│   │   │   │       │   └── README.md
│   │   │   │       ├── ja/
│   │   │   │       │   └── README.md
│   │   │   │       ├── ko/
│   │   │   │       │   └── README.md
│   │   │   │       ├── pl/
│   │   │   │       │   └── README.md
│   │   │   │       └── zh/
│   │   │   │           └── README.md
│   │   │   ├── browser/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   ├── firefoxos/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVInAppBrowser.h
│   │   │   │   └── CDVInAppBrowser.m
│   │   │   ├── ubuntu/
│   │   │   │   ├── InAppBrowser.qml
│   │   │   │   ├── InAppBrowser_escapeScript.js
│   │   │   │   ├── inappbrowser.cpp
│   │   │   │   └── inappbrowser.h
│   │   │   ├── windows/
│   │   │   │   └── InAppBrowserProxy.js
│   │   │   └── wp/
│   │   │       └── InAppBrowser.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   ├── resources/
│   │   │   │   ├── inject.css
│   │   │   │   ├── inject.html
│   │   │   │   ├── inject.js
│   │   │   │   ├── local.html
│   │   │   │   └── video.html
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── inappbrowser.css
│   │       ├── inappbrowser.js
│   │       └── windows8/
│   │           └── InAppBrowserProxy.js
│   ├── cordova-plugin-splashscreen/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── SplashScreen.java
│   │   │   ├── blackberry10/
│   │   │   │   └── index.js
│   │   │   ├── browser/
│   │   │   │   └── SplashScreenProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVSplashScreen.h
│   │   │   │   ├── CDVSplashScreen.m
│   │   │   │   ├── CDVViewController+SplashScreen.h
│   │   │   │   └── CDVViewController+SplashScreen.m
│   │   │   ├── tizen/
│   │   │   │   └── SplashScreenProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── splashscreen.cpp
│   │   │   │   └── splashscreen.h
│   │   │   └── wp/
│   │   │       ├── ResolutionHelper.cs
│   │   │       └── SplashScreen.cs
│   │   ├── tests/
│   │   │   ├── ios/
│   │   │   │   ├── CDVSplashScreenTest/
│   │   │   │   │   ├── .npmignore
│   │   │   │   │   ├── CDVSplashScreenLibTests/
│   │   │   │   │   │   ├── ImageNameTest.m
│   │   │   │   │   │   ├── ImageNameTestDelegates.h
│   │   │   │   │   │   ├── ImageNameTestDelegates.m
│   │   │   │   │   │   └── Info.plist
│   │   │   │   │   └── CDVSplashScreenTest.xcodeproj/
│   │   │   │   │       ├── project.pbxproj
│   │   │   │   │       ├── project.xcworkspace/
│   │   │   │   │       │   └── contents.xcworkspacedata
│   │   │   │   │       └── xcshareddata/
│   │   │   │   │           └── xcschemes/
│   │   │   │   │               ├── CDVSplashScreenLib.xcscheme
│   │   │   │   │               └── CDVSplashScreenLibTests.xcscheme
│   │   │   │   ├── CDVSplashScreenTest.xcworkspace/
│   │   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   │   └── xcshareddata/
│   │   │   │   │       └── xcschemes/
│   │   │   │   │           └── CordovaLib.xcscheme
│   │   │   │   ├── README.md
│   │   │   │   ├── doc/
│   │   │   │   │   ├── de/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── es/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── fr/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── it/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── ja/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── ko/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   ├── pl/
│   │   │   │   │   │   └── README.md
│   │   │   │   │   └── zh/
│   │   │   │   │       └── README.md
│   │   │   │   └── package.json
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── splashscreen.js
│   │       └── windows/
│   │           └── SplashScreenProxy.js
│   ├── cordova-plugin-statusbar/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── StatusBar.java
│   │   │   ├── ios/
│   │   │   │   ├── CDVStatusBar.h
│   │   │   │   └── CDVStatusBar.m
│   │   │   ├── windows/
│   │   │   │   └── StatusBarProxy.js
│   │   │   └── wp/
│   │   │       └── StatusBar.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       └── statusbar.js
│   ├── cordova-plugin-vibration/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── es/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── fr/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── it/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ja/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ko/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── pl/
│   │   │   │   ├── README.md
│   │   │   │   └── index.md
│   │   │   ├── ru/
│   │   │   │   └── index.md
│   │   │   └── zh/
│   │   │       ├── README.md
│   │   │       └── index.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Vibration.java
│   │   │   ├── blackberry10/
│   │   │   │   ├── index.js
│   │   │   │   └── native/
│   │   │   │       ├── .cproject
│   │   │   │       ├── .project
│   │   │   │       ├── public/
│   │   │   │       │   ├── plugin.cpp
│   │   │   │       │   ├── plugin.h
│   │   │   │       │   ├── tokenizer.cpp
│   │   │   │       │   └── tokenizer.h
│   │   │   │       └── src/
│   │   │   │           ├── vibration_js.cpp
│   │   │   │           └── vibration_js.hpp
│   │   │   ├── firefoxos/
│   │   │   │   └── VibrationProxy.js
│   │   │   ├── ios/
│   │   │   │   ├── CDVVibration.h
│   │   │   │   └── CDVVibration.m
│   │   │   ├── tizen/
│   │   │   │   └── VibrationProxy.js
│   │   │   ├── ubuntu/
│   │   │   │   ├── vibration.cpp
│   │   │   │   └── vibration.h
│   │   │   ├── windows/
│   │   │   │   ├── Vibration/
│   │   │   │   │   ├── .npmignore
│   │   │   │   │   ├── Properties/
│   │   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   │   ├── Vibration.cs
│   │   │   │   │   └── Vibration.csproj
│   │   │   │   └── VibrationProxy.js
│   │   │   └── wp/
│   │   │       └── Vibration.cs
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── www/
│   │       ├── blackberry10/
│   │       │   └── vibrate.js
│   │       └── vibration.js
│   ├── cordova-plugin-whitelist/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── README.md
│   │   ├── RELEASENOTES.md
│   │   ├── doc/
│   │   │   ├── de/
│   │   │   │   └── README.md
│   │   │   ├── es/
│   │   │   │   └── README.md
│   │   │   ├── fr/
│   │   │   │   └── README.md
│   │   │   ├── it/
│   │   │   │   └── README.md
│   │   │   ├── ja/
│   │   │   │   └── README.md
│   │   │   ├── ko/
│   │   │   │   └── README.md
│   │   │   ├── pl/
│   │   │   │   └── README.md
│   │   │   └── zh/
│   │   │       └── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   └── src/
│   │       └── android/
│   │           └── WhitelistPlugin.java
│   ├── cordova-plugin-zip/
│   │   ├── CONTRIBUTING.md
│   │   ├── LICENSE
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── plugin.xml
│   │   ├── src/
│   │   │   ├── android/
│   │   │   │   └── Zip.java
│   │   │   └── ios/
│   │   │       ├── Common.h
│   │   │       ├── SSZipArchive.h
│   │   │       ├── SSZipArchive.m
│   │   │       ├── ZipPlugin.h
│   │   │       ├── ZipPlugin.m
│   │   │       ├── aes/
│   │   │       │   ├── aes.h
│   │   │       │   ├── aes_via_ace.h
│   │   │       │   ├── aescrypt.c
│   │   │       │   ├── aeskey.c
│   │   │       │   ├── aesopt.h
│   │   │       │   ├── aestab.c
│   │   │       │   ├── aestab.h
│   │   │       │   ├── brg_endian.h
│   │   │       │   ├── brg_types.h
│   │   │       │   ├── entropy.c
│   │   │       │   ├── entropy.h
│   │   │       │   ├── fileenc.c
│   │   │       │   ├── fileenc.h
│   │   │       │   ├── hmac.c
│   │   │       │   ├── hmac.h
│   │   │       │   ├── prng.c
│   │   │       │   ├── prng.h
│   │   │       │   ├── pwd2key.c
│   │   │       │   ├── pwd2key.h
│   │   │       │   ├── sha1.c
│   │   │       │   └── sha1.h
│   │   │       └── minizip/
│   │   │           ├── crypt.h
│   │   │           ├── ioapi.c
│   │   │           ├── ioapi.h
│   │   │           ├── mztools.c
│   │   │           ├── mztools.h
│   │   │           ├── unzip.c
│   │   │           ├── unzip.h
│   │   │           ├── zip.c
│   │   │           └── zip.h
│   │   ├── tests/
│   │   │   ├── plugin.xml
│   │   │   └── tests.js
│   │   └── zip.js
│   ├── fetch.json
│   └── phonegap-plugin-barcodescanner/
│       ├── README.md
│       ├── package.json
│       ├── plugin.xml
│       ├── src/
│       │   ├── android/
│       │   │   ├── LibraryProject/
│       │   │   │   ├── .npmignore
│       │   │   │   ├── AndroidManifest.xml
│       │   │   │   ├── ant.properties
│       │   │   │   ├── assets/
│       │   │   │   │   ├── html-de/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-en/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-es/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-fr/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-it/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ja/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ko/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-nl/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-pt/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-ru/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-zh-rCN/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   ├── html-zh-rTW/
│       │   │   │   │   │   ├── about1d.html
│       │   │   │   │   │   ├── about2d.html
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── scanning.html
│       │   │   │   │   │   ├── sharing.html
│       │   │   │   │   │   └── whatsnew.html
│       │   │   │   │   └── style.css
│       │   │   │   ├── proguard-android-optimize.txt
│       │   │   │   ├── project.properties
│       │   │   │   ├── res/
│       │   │   │   │   ├── layout/
│       │   │   │   │   │   ├── bookmark_picker_list_item.xml
│       │   │   │   │   │   ├── capture.xml
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   ├── help.xml
│       │   │   │   │   │   ├── history_list_item.xml
│       │   │   │   │   │   ├── search_book_contents.xml
│       │   │   │   │   │   ├── search_book_contents_header.xml
│       │   │   │   │   │   ├── search_book_contents_list_item.xml
│       │   │   │   │   │   └── share.xml
│       │   │   │   │   ├── layout-land/
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   └── share.xml
│       │   │   │   │   ├── layout-ldpi/
│       │   │   │   │   │   └── capture.xml
│       │   │   │   │   ├── menu/
│       │   │   │   │   │   ├── capture.xml
│       │   │   │   │   │   ├── encode.xml
│       │   │   │   │   │   └── history.xml
│       │   │   │   │   ├── raw/
│       │   │   │   │   │   └── beep.ogg
│       │   │   │   │   ├── values/
│       │   │   │   │   │   ├── arrays.xml
│       │   │   │   │   │   ├── colors.xml
│       │   │   │   │   │   ├── dimens.xml
│       │   │   │   │   │   ├── ids.xml
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ar/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-bg/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ca/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-cs/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-da/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-de/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-el/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-es/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-eu/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-fi/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-fr/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-he/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-hi/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-hu/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-id/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-it/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-iw/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ja/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ko/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-nl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-pl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-pt/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-ru/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sk/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sl/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-sv/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-tr/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-zh-rCN/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   ├── values-zh-rTW/
│       │   │   │   │   │   └── strings.xml
│       │   │   │   │   └── xml/
│       │   │   │   │       └── preferences.xml
│       │   │   │   └── src/
│       │   │   │       └── com/
│       │   │   │           └── google/
│       │   │   │               └── zxing/
│       │   │   │                   ├── BarcodeFormat.java
│       │   │   │                   ├── Binarizer.java
│       │   │   │                   ├── BinaryBitmap.java
│       │   │   │                   ├── ChecksumException.java
│       │   │   │                   ├── DecodeHintType.java
│       │   │   │                   ├── EncodeHintType.java
│       │   │   │                   ├── FakeR.java
│       │   │   │                   ├── FormatException.java
│       │   │   │                   ├── LuminanceSource.java
│       │   │   │                   ├── MultiFormatReader.java
│       │   │   │                   ├── MultiFormatWriter.java
│       │   │   │                   ├── NotFoundException.java
│       │   │   │                   ├── PlanarYUVLuminanceSource.java
│       │   │   │                   ├── RGBLuminanceSource.java
│       │   │   │                   ├── Reader.java
│       │   │   │                   ├── ReaderException.java
│       │   │   │                   ├── Result.java
│       │   │   │                   ├── ResultMetadataType.java
│       │   │   │                   ├── ResultPoint.java
│       │   │   │                   ├── ResultPointCallback.java
│       │   │   │                   ├── Writer.java
│       │   │   │                   ├── WriterException.java
│       │   │   │                   ├── aztec/
│       │   │   │                   │   ├── AztecDetectorResult.java
│       │   │   │                   │   ├── AztecReader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   └── Decoder.java
│       │   │   │                   │   └── detector/
│       │   │   │                   │       └── Detector.java
│       │   │   │                   ├── client/
│       │   │   │                   │   ├── android/
│       │   │   │                   │   │   ├── BeepManager.java
│       │   │   │                   │   │   ├── CaptureActivity.java
│       │   │   │                   │   │   ├── CaptureActivityHandler.java
│       │   │   │                   │   │   ├── Contents.java
│       │   │   │                   │   │   ├── DecodeFormatManager.java
│       │   │   │                   │   │   ├── DecodeHandler.java
│       │   │   │                   │   │   ├── DecodeThread.java
│       │   │   │                   │   │   ├── FinishListener.java
│       │   │   │                   │   │   ├── HelpActivity.java
│       │   │   │                   │   │   ├── HttpHelper.java
│       │   │   │                   │   │   ├── InactivityTimer.java
│       │   │   │                   │   │   ├── IntentSource.java
│       │   │   │                   │   │   ├── Intents.java
│       │   │   │                   │   │   ├── LocaleManager.java
│       │   │   │                   │   │   ├── PreferencesActivity.java
│       │   │   │                   │   │   ├── ViewfinderResultPointCallback.java
│       │   │   │                   │   │   ├── ViewfinderView.java
│       │   │   │                   │   │   ├── book/
│       │   │   │                   │   │   │   ├── BrowseBookListener.java
│       │   │   │                   │   │   │   ├── SearchBookContentsActivity.java
│       │   │   │                   │   │   │   ├── SearchBookContentsAdapter.java
│       │   │   │                   │   │   │   ├── SearchBookContentsListItem.java
│       │   │   │                   │   │   │   └── SearchBookContentsResult.java
│       │   │   │                   │   │   ├── camera/
│       │   │   │                   │   │   │   ├── AutoFocusManager.java
│       │   │   │                   │   │   │   ├── CameraConfigurationManager.java
│       │   │   │                   │   │   │   ├── CameraManager.java
│       │   │   │                   │   │   │   ├── PreviewCallback.java
│       │   │   │                   │   │   │   ├── exposure/
│       │   │   │                   │   │   │   │   ├── DefaultExposureInterface.java
│       │   │   │                   │   │   │   │   ├── ExposureInterface.java
│       │   │   │                   │   │   │   │   ├── ExposureManager.java
│       │   │   │                   │   │   │   │   └── FroyoExposureInterface.java
│       │   │   │                   │   │   │   └── open/
│       │   │   │                   │   │   │       ├── DefaultOpenCameraInterface.java
│       │   │   │                   │   │   │       ├── GingerbreadOpenCameraInterface.java
│       │   │   │                   │   │   │       ├── OpenCameraInterface.java
│       │   │   │                   │   │   │       └── OpenCameraManager.java
│       │   │   │                   │   │   ├── common/
│       │   │   │                   │   │   │   ├── PlatformSupportManager.java
│       │   │   │                   │   │   │   └── executor/
│       │   │   │                   │   │   │       ├── AsyncTaskExecInterface.java
│       │   │   │                   │   │   │       ├── AsyncTaskExecManager.java
│       │   │   │                   │   │   │       ├── DefaultAsyncTaskExecInterface.java
│       │   │   │                   │   │   │       └── HoneycombAsyncTaskExecInterface.java
│       │   │   │                   │   │   ├── encode/
│       │   │   │                   │   │   │   ├── ContactEncoder.java
│       │   │   │                   │   │   │   ├── EncodeActivity.java
│       │   │   │                   │   │   │   ├── Formatter.java
│       │   │   │                   │   │   │   ├── MECARDContactEncoder.java
│       │   │   │                   │   │   │   ├── QRCodeEncoder.java
│       │   │   │                   │   │   │   └── VCardContactEncoder.java
│       │   │   │                   │   │   ├── history/
│       │   │   │                   │   │   │   ├── DBHelper.java
│       │   │   │                   │   │   │   ├── HistoryActivity.java
│       │   │   │                   │   │   │   ├── HistoryItem.java
│       │   │   │                   │   │   │   ├── HistoryItemAdapter.java
│       │   │   │                   │   │   │   └── HistoryManager.java
│       │   │   │                   │   │   ├── pref/
│       │   │   │                   │   │   │   └── BSPlusPreference.java
│       │   │   │                   │   │   ├── result/
│       │   │   │                   │   │   │   ├── AddressBookResultHandler.java
│       │   │   │                   │   │   │   ├── CalendarResultHandler.java
│       │   │   │                   │   │   │   ├── EmailAddressResultHandler.java
│       │   │   │                   │   │   │   ├── GeoResultHandler.java
│       │   │   │                   │   │   │   ├── ISBNResultHandler.java
│       │   │   │                   │   │   │   ├── ProductResultHandler.java
│       │   │   │                   │   │   │   ├── ResultButtonListener.java
│       │   │   │                   │   │   │   ├── ResultHandler.java
│       │   │   │                   │   │   │   ├── ResultHandlerFactory.java
│       │   │   │                   │   │   │   ├── SMSResultHandler.java
│       │   │   │                   │   │   │   ├── TelResultHandler.java
│       │   │   │                   │   │   │   ├── TextResultHandler.java
│       │   │   │                   │   │   │   ├── URIResultHandler.java
│       │   │   │                   │   │   │   ├── WifiResultHandler.java
│       │   │   │                   │   │   │   └── supplement/
│       │   │   │                   │   │   │       ├── BookResultInfoRetriever.java
│       │   │   │                   │   │   │       ├── ProductResultInfoRetriever.java
│       │   │   │                   │   │   │       ├── SupplementalInfoRetriever.java
│       │   │   │                   │   │   │       ├── TitleRetriever.java
│       │   │   │                   │   │   │       └── URIResultInfoRetriever.java
│       │   │   │                   │   │   ├── share/
│       │   │   │                   │   │   │   ├── AppPickerActivity.java
│       │   │   │                   │   │   │   ├── BookmarkAdapter.java
│       │   │   │                   │   │   │   ├── BookmarkPickerActivity.java
│       │   │   │                   │   │   │   ├── LoadPackagesAsyncTask.java
│       │   │   │                   │   │   │   └── ShareActivity.java
│       │   │   │                   │   │   └── wifi/
│       │   │   │                   │   │       ├── NetworkType.java
│       │   │   │                   │   │       └── WifiConfigManager.java
│       │   │   │                   │   └── result/
│       │   │   │                   │       ├── AbstractDoCoMoResultParser.java
│       │   │   │                   │       ├── AddressBookAUResultParser.java
│       │   │   │                   │       ├── AddressBookDoCoMoResultParser.java
│       │   │   │                   │       ├── AddressBookParsedResult.java
│       │   │   │                   │       ├── BizcardResultParser.java
│       │   │   │                   │       ├── BookmarkDoCoMoResultParser.java
│       │   │   │                   │       ├── CalendarParsedResult.java
│       │   │   │                   │       ├── EmailAddressParsedResult.java
│       │   │   │                   │       ├── EmailAddressResultParser.java
│       │   │   │                   │       ├── EmailDoCoMoResultParser.java
│       │   │   │                   │       ├── ExpandedProductParsedResult.java
│       │   │   │                   │       ├── ExpandedProductResultParser.java
│       │   │   │                   │       ├── GeoParsedResult.java
│       │   │   │                   │       ├── GeoResultParser.java
│       │   │   │                   │       ├── ISBNParsedResult.java
│       │   │   │                   │       ├── ISBNResultParser.java
│       │   │   │                   │       ├── ParsedResult.java
│       │   │   │                   │       ├── ParsedResultType.java
│       │   │   │                   │       ├── ProductParsedResult.java
│       │   │   │                   │       ├── ProductResultParser.java
│       │   │   │                   │       ├── ResultParser.java
│       │   │   │                   │       ├── SMSMMSResultParser.java
│       │   │   │                   │       ├── SMSParsedResult.java
│       │   │   │                   │       ├── SMSTOMMSTOResultParser.java
│       │   │   │                   │       ├── SMTPResultParser.java
│       │   │   │                   │       ├── TelParsedResult.java
│       │   │   │                   │       ├── TelResultParser.java
│       │   │   │                   │       ├── TextParsedResult.java
│       │   │   │                   │       ├── URIParsedResult.java
│       │   │   │                   │       ├── URIResultParser.java
│       │   │   │                   │       ├── URLTOResultParser.java
│       │   │   │                   │       ├── VCardResultParser.java
│       │   │   │                   │       ├── VEventResultParser.java
│       │   │   │                   │       ├── WifiParsedResult.java
│       │   │   │                   │       └── WifiResultParser.java
│       │   │   │                   ├── common/
│       │   │   │                   │   ├── BitArray.java
│       │   │   │                   │   ├── BitMatrix.java
│       │   │   │                   │   ├── BitSource.java
│       │   │   │                   │   ├── CharacterSetECI.java
│       │   │   │                   │   ├── DecoderResult.java
│       │   │   │                   │   ├── DefaultGridSampler.java
│       │   │   │                   │   ├── DetectorResult.java
│       │   │   │                   │   ├── GlobalHistogramBinarizer.java
│       │   │   │                   │   ├── GridSampler.java
│       │   │   │                   │   ├── HybridBinarizer.java
│       │   │   │                   │   ├── PerspectiveTransform.java
│       │   │   │                   │   ├── StringUtils.java
│       │   │   │                   │   ├── detector/
│       │   │   │                   │   │   ├── MathUtils.java
│       │   │   │                   │   │   ├── MonochromeRectangleDetector.java
│       │   │   │                   │   │   └── WhiteRectangleDetector.java
│       │   │   │                   │   └── reedsolomon/
│       │   │   │                   │       ├── GenericGF.java
│       │   │   │                   │       ├── GenericGFPoly.java
│       │   │   │                   │       ├── ReedSolomonDecoder.java
│       │   │   │                   │       ├── ReedSolomonEncoder.java
│       │   │   │                   │       └── ReedSolomonException.java
│       │   │   │                   ├── datamatrix/
│       │   │   │                   │   ├── DataMatrixReader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   ├── BitMatrixParser.java
│       │   │   │                   │   │   ├── DataBlock.java
│       │   │   │                   │   │   ├── DecodedBitStreamParser.java
│       │   │   │                   │   │   ├── Decoder.java
│       │   │   │                   │   │   └── Version.java
│       │   │   │                   │   └── detector/
│       │   │   │                   │       └── Detector.java
│       │   │   │                   ├── maxicode/
│       │   │   │                   │   ├── MaxiCodeReader.java
│       │   │   │                   │   └── decoder/
│       │   │   │                   │       ├── BitMatrixParser.java
│       │   │   │                   │       ├── DecodedBitStreamParser.java
│       │   │   │                   │       └── Decoder.java
│       │   │   │                   ├── multi/
│       │   │   │                   │   ├── ByQuadrantReader.java
│       │   │   │                   │   ├── GenericMultipleBarcodeReader.java
│       │   │   │                   │   ├── MultipleBarcodeReader.java
│       │   │   │                   │   └── qrcode/
│       │   │   │                   │       ├── QRCodeMultiReader.java
│       │   │   │                   │       └── detector/
│       │   │   │                   │           ├── MultiDetector.java
│       │   │   │                   │           └── MultiFinderPatternFinder.java
│       │   │   │                   ├── oned/
│       │   │   │                   │   ├── CodaBarReader.java
│       │   │   │                   │   ├── CodaBarWriter.java
│       │   │   │                   │   ├── Code128Reader.java
│       │   │   │                   │   ├── Code128Writer.java
│       │   │   │                   │   ├── Code39Reader.java
│       │   │   │                   │   ├── Code39Writer.java
│       │   │   │                   │   ├── Code93Reader.java
│       │   │   │                   │   ├── EAN13Reader.java
│       │   │   │                   │   ├── EAN13Writer.java
│       │   │   │                   │   ├── EAN8Reader.java
│       │   │   │                   │   ├── EAN8Writer.java
│       │   │   │                   │   ├── EANManufacturerOrgSupport.java
│       │   │   │                   │   ├── ITFReader.java
│       │   │   │                   │   ├── ITFWriter.java
│       │   │   │                   │   ├── MultiFormatOneDReader.java
│       │   │   │                   │   ├── MultiFormatUPCEANReader.java
│       │   │   │                   │   ├── OneDReader.java
│       │   │   │                   │   ├── OneDimensionalCodeWriter.java
│       │   │   │                   │   ├── UPCAReader.java
│       │   │   │                   │   ├── UPCAWriter.java
│       │   │   │                   │   ├── UPCEANExtension2Support.java
│       │   │   │                   │   ├── UPCEANExtension5Support.java
│       │   │   │                   │   ├── UPCEANExtensionSupport.java
│       │   │   │                   │   ├── UPCEANReader.java
│       │   │   │                   │   ├── UPCEANWriter.java
│       │   │   │                   │   ├── UPCEReader.java
│       │   │   │                   │   └── rss/
│       │   │   │                   │       ├── AbstractRSSReader.java
│       │   │   │                   │       ├── DataCharacter.java
│       │   │   │                   │       ├── FinderPattern.java
│       │   │   │                   │       ├── Pair.java
│       │   │   │                   │       ├── RSS14Reader.java
│       │   │   │                   │       ├── RSSUtils.java
│       │   │   │                   │       └── expanded/
│       │   │   │                   │           ├── BitArrayBuilder.java
│       │   │   │                   │           ├── ExpandedPair.java
│       │   │   │                   │           ├── RSSExpandedReader.java
│       │   │   │                   │           └── decoders/
│       │   │   │                   │               ├── AI013103decoder.java
│       │   │   │                   │               ├── AI01320xDecoder.java
│       │   │   │                   │               ├── AI01392xDecoder.java
│       │   │   │                   │               ├── AI01393xDecoder.java
│       │   │   │                   │               ├── AI013x0x1xDecoder.java
│       │   │   │                   │               ├── AI013x0xDecoder.java
│       │   │   │                   │               ├── AI01AndOtherAIs.java
│       │   │   │                   │               ├── AI01decoder.java
│       │   │   │                   │               ├── AI01weightDecoder.java
│       │   │   │                   │               ├── AbstractExpandedDecoder.java
│       │   │   │                   │               ├── AnyAIDecoder.java
│       │   │   │                   │               ├── BlockParsedResult.java
│       │   │   │                   │               ├── CurrentParsingState.java
│       │   │   │                   │               ├── DecodedChar.java
│       │   │   │                   │               ├── DecodedInformation.java
│       │   │   │                   │               ├── DecodedNumeric.java
│       │   │   │                   │               ├── DecodedObject.java
│       │   │   │                   │               ├── FieldParser.java
│       │   │   │                   │               └── GeneralAppIdDecoder.java
│       │   │   │                   ├── pdf417/
│       │   │   │                   │   ├── PDF417Reader.java
│       │   │   │                   │   ├── decoder/
│       │   │   │                   │   │   ├── BitMatrixParser.java
│       │   │   │                   │   │   ├── DecodedBitStreamParser.java
│       │   │   │                   │   │   ├── Decoder.java
│       │   │   │                   │   │   └── ec/
│       │   │   │                   │   │       ├── ErrorCorrection.java
│       │   │   │                   │   │       ├── ModulusGF.java
│       │   │   │                   │   │       └── ModulusPoly.java
│       │   │   │                   │   ├── detector/
│       │   │   │                   │   │   └── Detector.java
│       │   │   │                   │   └── encoder/
│       │   │   │                   │       ├── BarcodeMatrix.java
│       │   │   │                   │       ├── BarcodeRow.java
│       │   │   │                   │       ├── Compaction.java
│       │   │   │                   │       ├── Dimensions.java
│       │   │   │                   │       ├── PDF417.java
│       │   │   │                   │       ├── PDF417ErrorCorrection.java
│       │   │   │                   │       ├── PDF417HighLevelEncoder.java
│       │   │   │                   │       └── PDF417Writer.java
│       │   │   │                   └── qrcode/
│       │   │   │                       ├── QRCodeReader.java
│       │   │   │                       ├── QRCodeWriter.java
│       │   │   │                       ├── decoder/
│       │   │   │                       │   ├── BitMatrixParser.java
│       │   │   │                       │   ├── DataBlock.java
│       │   │   │                       │   ├── DataMask.java
│       │   │   │                       │   ├── DecodedBitStreamParser.java
│       │   │   │                       │   ├── Decoder.java
│       │   │   │                       │   ├── ErrorCorrectionLevel.java
│       │   │   │                       │   ├── FormatInformation.java
│       │   │   │                       │   ├── Mode.java
│       │   │   │                       │   └── Version.java
│       │   │   │                       ├── detector/
│       │   │   │                       │   ├── AlignmentPattern.java
│       │   │   │                       │   ├── AlignmentPatternFinder.java
│       │   │   │                       │   ├── Detector.java
│       │   │   │                       │   ├── FinderPattern.java
│       │   │   │                       │   ├── FinderPatternFinder.java
│       │   │   │                       │   └── FinderPatternInfo.java
│       │   │   │                       └── encoder/
│       │   │   │                           ├── BlockPair.java
│       │   │   │                           ├── ByteMatrix.java
│       │   │   │                           ├── Encoder.java
│       │   │   │                           ├── MaskUtil.java
│       │   │   │                           ├── MatrixUtil.java
│       │   │   │                           └── QRCode.java
│       │   │   ├── README.md
│       │   │   ├── com/
│       │   │   │   └── phonegap/
│       │   │   │       └── plugins/
│       │   │   │           └── barcodescanner/
│       │   │   │               └── BarcodeScanner.java
│       │   │   └── com.google.zxing.client.android.captureactivity.jar
│       │   ├── browser/
│       │   │   └── BarcodeScannerProxy.js
│       │   ├── ios/
│       │   │   ├── CDVBarcodeScanner.bundle/
│       │   │   │   └── beep.caf
│       │   │   ├── CDVBarcodeScanner.mm
│       │   │   ├── scannerOverlay.xib
│       │   │   ├── zxing-all-in-one.cpp
│       │   │   └── zxing-all-in-one.h
│       │   ├── windows/
│       │   │   ├── BarcodeScannerProxy.js
│       │   │   └── lib/
│       │   │       ├── Properties/
│       │   │       │   └── AssemblyInfo.cs
│       │   │       ├── Reader.cs
│       │   │       ├── WinRTBarcodeReader.csproj
│       │   │       └── ZXing.winmd
│       │   └── wp8/
│       │       ├── BarcodeScanner.cs
│       │       ├── BarcodeScannerTask.cs
│       │       ├── BarcodeScannerUI.xaml
│       │       └── BarcodeScannerUI.xaml.cs
│       ├── tests/
│       │   ├── plugin.xml
│       │   └── tests.js
│       └── www/
│           └── barcodescanner.js
└── src/
    ├── css/
    │   ├── android.less
    │   ├── app.less
    │   ├── components/
    │   │   ├── FeedbackModal.less
    │   │   ├── Footerbar.less
    │   │   ├── Headerbar.less
    │   │   ├── ListItem.less
    │   │   ├── NavigationBar.less
    │   │   ├── PersonItem.less
    │   │   ├── ScheduleItem.less
    │   │   └── index.less
    │   ├── demo.less
    │   ├── ionicons/
    │   │   ├── _ionicons-font.less
    │   │   ├── _ionicons-icons.less
    │   │   ├── _ionicons-variables.less
    │   │   └── ionicons.less
    │   ├── mixins.less
    │   ├── variables.less
    │   └── views/
    │       ├── about.less
    │       ├── announcement.less
    │       ├── details.less
    │       ├── event.less
    │       ├── index.less
    │       ├── misc.less
    │       ├── onboarding.less
    │       ├── person.less
    │       ├── schedule.less
    │       └── talk.less
    ├── index.html
    └── js/
        ├── app.js
        ├── components/
        │   ├── AppHeader.js
        │   ├── FeedbackModal.js
        │   ├── ListHeader.js
        │   ├── Onboarding/
        │   │   ├── enter-code.js
        │   │   ├── index.js
        │   │   └── resend-email.js
        │   ├── OnboardingHeader.js
        │   ├── PeopleItem.js
        │   ├── PeopleList.js
        │   ├── Scanner.js
        │   └── Spinner.js
        ├── config.js
        ├── icons/
        │   ├── index.js
        │   └── qr.js
        ├── lib/
        │   └── device.js
        ├── mixins/
        │   └── social.js
        ├── stores/
        │   ├── DataStore.js
        │   ├── default.json
        │   └── default.secret.json
        ├── touchstone/
        │   ├── Container.js
        │   ├── ErrorView.js
        │   ├── Icon.js
        │   ├── LabelInput.js
        │   ├── LabelTextarea.js
        │   ├── Link.js
        │   ├── NavigationBar.js
        │   ├── Switch.js
        │   ├── Tabs.js
        │   ├── Transitions.js
        │   ├── View.js
        │   ├── ViewManager.js
        │   ├── animation.js
        │   └── index.js
        └── views/
            ├── about.js
            ├── announcement.js
            ├── event/
            │   ├── index.js
            │   └── sponsor.js
            ├── me/
            │   ├── edit.js
            │   ├── index.js
            │   └── section.js
            ├── onboarding/
            │   ├── hackathon/
            │   │   ├── enter-code.js
            │   │   ├── index.js
            │   │   └── resend-email.js
            │   ├── main-event/
            │   │   ├── enter-code.js
            │   │   ├── index.js
            │   │   └── resend-email.js
            │   └── workshop/
            │       ├── enter-code.js
            │       ├── index.js
            │       └── resend-email.js
            ├── people/
            │   ├── index.js
            │   ├── person.js
            │   └── search.js
            └── schedule/
                ├── index.js
                ├── item.js
                └── talk.js
Download .txt
Showing preview only (4,612K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3481 symbols across 491 files)

FILE: plugins/code-push/script/acquisition-sdk.js
  function AcquisitionStatus (line 3) | function AcquisitionStatus() {
  function AcquisitionManager (line 11) | function AcquisitionManager(httpRequester, configuration) {
  function queryStringify (line 152) | function queryStringify(object) {

FILE: plugins/code-push/script/management-sdk.js
  function urlEncode (line 19) | function urlEncode(strings) {
  function AccountManager (line 34) | function AccountManager(accessKey, customHeaders, serverUrl, proxy) {

FILE: plugins/code-push/test/acquisition-rest-mock.js
  function HttpRequester (line 21) | function HttpRequester() {
  function CustomResponseHttpRequester (line 45) | function CustomResponseHttpRequester(response) {
  function Server (line 59) | function Server() {

FILE: plugins/code-push/test/acquisition-sdk.js
  function clone (line 186) | function clone(initialObject) {

FILE: plugins/code-push/test/management-sdk.js
  function testErrors (line 45) | function testErrors(method) {
  function rejectHandler (line 307) | function rejectHandler(val) {
  function mockReturn (line 311) | function mockReturn(bodyText, statusCode, header) {

FILE: plugins/cordova-plugin-appavailability/src/android/AppAvailability.java
  class AppAvailability (line 11) | public class AppAvailability extends CordovaPlugin {
    method execute (line 12) | @Override
    method appInstalled (line 23) | public boolean appInstalled(String uri) {
    method checkAvailability (line 37) | private void checkAvailability(String uri, CallbackContext callbackCon...

FILE: plugins/cordova-plugin-code-push/bin/www/codePush.js
  function CodePush (line 19) | function CodePush() {

FILE: plugins/cordova-plugin-code-push/bin/www/codePushUtil.js
  function CodePushUtil (line 13) | function CodePushUtil() {

FILE: plugins/cordova-plugin-code-push/bin/www/fileUtil.js
  function FileUtil (line 13) | function FileUtil() {

FILE: plugins/cordova-plugin-code-push/bin/www/httpRequester.js
  function HttpRequester (line 13) | function HttpRequester(contentType) {

FILE: plugins/cordova-plugin-code-push/bin/www/localPackage.js
  function __ (line 14) | function __() { this.constructor = d; }
  function LocalPackage (line 24) | function LocalPackage() {

FILE: plugins/cordova-plugin-code-push/bin/www/nativeAppInfo.js
  function NativeAppInfo (line 14) | function NativeAppInfo() {

FILE: plugins/cordova-plugin-code-push/bin/www/package.js
  function Package (line 13) | function Package() {

FILE: plugins/cordova-plugin-code-push/bin/www/remotePackage.js
  function __ (line 14) | function __() { this.constructor = d; }
  function RemotePackage (line 24) | function RemotePackage() {

FILE: plugins/cordova-plugin-code-push/bin/www/sdk.js
  function Sdk (line 15) | function Sdk() {

FILE: plugins/cordova-plugin-code-push/samples/advanced/www/js/index.js
  function onConfirm (line 87) | function onConfirm(buttonIndex) {

FILE: plugins/cordova-plugin-code-push/src/android/CodePush.java
  class CodePush (line 24) | public class CodePush extends CordovaPlugin {
    method initialize (line 38) | @Override
    method execute (line 47) | @Override
    method execGetBinaryHash (line 80) | private boolean execGetBinaryHash(final CallbackContext callbackContex...
    method execUpdateSuccess (line 106) | private boolean execUpdateSuccess(CallbackContext callbackContext) {
    method execIsFirstRun (line 132) | private boolean execIsFirstRun(CordovaArgs args, CallbackContext callb...
    method execIsPendingUpdate (line 151) | private boolean execIsPendingUpdate(CordovaArgs args, CallbackContext ...
    method execIsFailedUpdate (line 161) | private boolean execIsFailedUpdate(CordovaArgs args, CallbackContext c...
    method execInstall (line 172) | private boolean execInstall(CordovaArgs args, CallbackContext callback...
    method execRestartApplication (line 200) | private boolean execRestartApplication(CordovaArgs args, CallbackConte...
    method markUpdate (line 226) | private void markUpdate() {
    method cleanOldPackageSilently (line 232) | private void cleanOldPackageSilently() {
    method execPreInstall (line 241) | private boolean execPreInstall(CordovaArgs args, CallbackContext callb...
    method execGetAppVersion (line 258) | private boolean execGetAppVersion(CallbackContext callbackContext) {
    method execGetNativeBuildTime (line 268) | private boolean execGetNativeBuildTime(CallbackContext callbackContext) {
    method returnStringPreference (line 279) | private void returnStringPreference(String preferenceName, CallbackCon...
    method handleAppStart (line 288) | private void handleAppStart() {
    method handleUnconfirmedInstall (line 329) | private void handleUnconfirmedInstall(boolean navigate) {
    method navigateToFile (line 363) | private void navigateToFile(File startPageFile) throws MalformedURLExc...
    method navigateToURL (line 370) | private void navigateToURL(String url) {
    method getStartPageForPackage (line 377) | private File getStartPageForPackage(String packageLocation) {
    method getStartPageURLForPackage (line 388) | private String getStartPageURLForPackage(String packageLocation) throw...
    method getConfigStartPageName (line 398) | private String getConfigStartPageName() {
    method getConfigLaunchUrl (line 408) | private String getConfigLaunchUrl() {
    method onPause (line 419) | @Override
    method onResume (line 429) | @Override
    method onStart (line 437) | @Override
    method onDestroy (line 471) | @Override
    method onMessage (line 476) | @Override

FILE: plugins/cordova-plugin-code-push/src/android/CodePushPackageManager.java
  class CodePushPackageManager (line 13) | public class CodePushPackageManager {
    method CodePushPackageManager (line 21) | public CodePushPackageManager(Context context, CodePushPreferences cod...
    method revertToPreviousVersion (line 26) | public void revertToPreviousVersion() {
    method cleanDeployments (line 52) | public void cleanDeployments() {
    method cleanOldPackage (line 59) | public void cleanOldPackage() throws IOException, JSONException {
    method getOldPackageMetadata (line 69) | public CodePushPackageMetadata getOldPackageMetadata() {
    method getCurrentPackageMetadata (line 74) | public CodePushPackageMetadata getCurrentPackageMetadata() {
    method getCachedBinaryHash (line 79) | public String getCachedBinaryHash() {
    method saveBinaryHash (line 83) | public void saveBinaryHash(String binaryHash) {
    method isFailedUpdate (line 87) | public boolean isFailedUpdate(String packageHash) {
    method clearFailedUpdates (line 91) | public void clearFailedUpdates() {
    method savePendingInstall (line 95) | public void savePendingInstall(InstallOptions options) {
    method getPendingInstall (line 99) | public InstallOptions getPendingInstall() {
    method clearPendingInstall (line 103) | public void clearPendingInstall() {
    method markInstallNeedsConfirmation (line 107) | public void markInstallNeedsConfirmation() {
    method clearInstallNeedsConfirmation (line 111) | public void clearInstallNeedsConfirmation() {
    method installNeedsConfirmation (line 115) | public boolean installNeedsConfirmation() {
    method isFirstRun (line 119) | public boolean isFirstRun() {
    method saveFirstRunFlag (line 123) | public void saveFirstRunFlag() {

FILE: plugins/cordova-plugin-code-push/src/android/CodePushPackageMetadata.java
  class CodePushPackageMetadata (line 10) | public class CodePushPackageMetadata {
    class JsonField (line 21) | final static class JsonField {
    method getPackageMetadata (line 33) | public static CodePushPackageMetadata getPackageMetadata(String filePa...

FILE: plugins/cordova-plugin-code-push/src/android/CodePushPreferences.java
  class CodePushPreferences (line 12) | public class CodePushPreferences {
    method CodePushPreferences (line 31) | public CodePushPreferences(Context context) {
    method getCachedBinaryHash (line 35) | public String getCachedBinaryHash() {
    method saveBinaryHash (line 40) | public void saveBinaryHash(String binaryHash) {
    method saveFailedUpdate (line 47) | public void saveFailedUpdate(String hashCode) {
    method isFailedUpdate (line 60) | public boolean isFailedUpdate(String hashCode) {
    method clearFailedUpdates (line 70) | public void clearFailedUpdates() {
    method savePendingInstall (line 74) | public void savePendingInstall(InstallOptions installOptions) {
    method clearPendingInstall (line 82) | public void clearPendingInstall() {
    method getPendingInstall (line 86) | public InstallOptions getPendingInstall() {
    method markInstallNeedsConfirmation (line 100) | public void markInstallNeedsConfirmation() {
    method clearInstallNeedsConfirmation (line 107) | public void clearInstallNeedsConfirmation() {
    method installNeedsConfirmation (line 111) | public boolean installNeedsConfirmation() {
    method saveFirstRunFlag (line 117) | public void saveFirstRunFlag() {
    method isFirstRun (line 124) | public boolean isFirstRun() {
    method clearPreferences (line 130) | public void clearPreferences(String preferencesId) {
    method saveLastVersion (line 137) | public void saveLastVersion(String labelOrAppVersion, String deploymen...
    method getLastVersionDeploymentKey (line 145) | public String getLastVersionDeploymentKey() {
    method getLastVersionLabelOrAppVersion (line 150) | public String getLastVersionLabelOrAppVersion() {

FILE: plugins/cordova-plugin-code-push/src/android/CodePushReportingManager.java
  class CodePushReportingManager (line 12) | public class CodePushReportingManager {
    type Status (line 20) | public static enum Status {
      method Status (line 27) | Status(int i) {
      method getValue (line 34) | public int getValue() {
    method CodePushReportingManager (line 39) | public CodePushReportingManager(Activity cordovaActivity, CodePushPref...
    method reportStatus (line 47) | public void reportStatus(Status status, String label, String appVersio...
    method convertStringParameter (line 75) | private String convertStringParameter(String input) {

FILE: plugins/cordova-plugin-code-push/src/android/InstallMode.java
  type InstallMode (line 6) | public enum InstallMode {
    method InstallMode (line 13) | InstallMode(int i) {
    method fromValue (line 21) | public static InstallMode fromValue(int i) {
    method getValue (line 34) | public int getValue() {

FILE: plugins/cordova-plugin-code-push/src/android/InstallOptions.java
  class InstallOptions (line 6) | public class InstallOptions {
    method InstallOptions (line 10) | public InstallOptions(InstallMode installMode, int minimumBackgroundDu...

FILE: plugins/cordova-plugin-code-push/src/android/UpdateHashUtils.java
  class UpdateHashUtils (line 20) | public class UpdateHashUtils {
    method getBinaryHash (line 22) | public static String getBinaryHash(Activity activity) throws IOExcepti...
    method addFolderEntriesToManifest (line 36) | private static void addFolderEntriesToManifest(ArrayList<String> manif...
    method computeHash (line 49) | private static String computeHash(InputStream dataStream) throws IOExc...

FILE: plugins/cordova-plugin-code-push/src/android/Utilities.java
  class Utilities (line 19) | public class Utilities {
    method readFileContents (line 20) | public static String readFileContents(File file) throws IOException {
    method deleteEntryRecursively (line 40) | public static void deleteEntryRecursively(File entry) {
    method getAppVersionName (line 51) | public static String getAppVersionName(Context context) throws Package...
    method getApkEntryBuildTime (line 57) | public static long getApkEntryBuildTime(String entryName, Context cont...
    method logException (line 74) | public static void logException(Throwable e) {

FILE: plugins/cordova-plugin-code-push/src/ios/CodePushReportingManager.h
  type NSInteger (line 6) | typedef NSInteger ReportingStatus;

FILE: plugins/cordova-plugin-code-push/src/ios/InstallMode.h
  type NSInteger (line 6) | typedef NSInteger InstallMode;

FILE: plugins/cordova-plugin-compat/src/android/PermissionHelper.java
  class PermissionHelper (line 35) | public class PermissionHelper {
    method requestPermission (line 48) | public static void requestPermission(CordovaPlugin plugin, int request...
    method requestPermissions (line 62) | public static void requestPermissions(CordovaPlugin plugin, int reques...
    method hasPermission (line 94) | public static boolean hasPermission(CordovaPlugin plugin, String permi...
    method deliverPermissionResult (line 114) | private static void deliverPermissionResult(CordovaPlugin plugin, int ...

FILE: plugins/cordova-plugin-device/src/android/Device.java
  class Device (line 33) | public class Device extends CordovaPlugin {
    method Device (line 46) | public Device() {
    method initialize (line 56) | public void initialize(CordovaInterface cordova, CordovaWebView webVie...
    method execute (line 69) | public boolean execute(String action, JSONArray args, CallbackContext ...
    method getPlatform (line 96) | public String getPlatform() {
    method getUuid (line 111) | public String getUuid() {
    method getModel (line 116) | public String getModel() {
    method getProductName (line 121) | public String getProductName() {
    method getManufacturer (line 126) | public String getManufacturer() {
    method getSerialNumber (line 131) | public String getSerialNumber() {
    method getOSVersion (line 141) | public String getOSVersion() {
    method getSDKVersion (line 146) | public String getSDKVersion() {
    method getTimeZoneID (line 152) | public String getTimeZoneID() {
    method isAmazonDevice (line 162) | public boolean isAmazonDevice() {
    method isVirtual (line 169) | public boolean isVirtual() {

FILE: plugins/cordova-plugin-device/src/blackberry10/index.js
  function getModelName (line 24) | function getModelName () {
  function getUUID (line 45) | function getUUID () {

FILE: plugins/cordova-plugin-device/src/browser/DeviceProxy.js
  function getPlatform (line 23) | function getPlatform() {
  function getModel (line 27) | function getModel() {
  function getVersion (line 31) | function getVersion() {
  function getBrowserInfo (line 35) | function getBrowserInfo(getModel) {

FILE: plugins/cordova-plugin-device/src/firefoxos/DeviceProxy.js
  function convertVersionNumber (line 28) | function convertVersionNumber(ver) {
  function getVersion (line 45) | function getVersion() {
  function getModel (line 55) | function getModel() {

FILE: plugins/cordova-plugin-device/src/ios/CDVDevice.h
  function interface (line 23) | interface CDVDevice : CDVPlugin

FILE: plugins/cordova-plugin-device/src/ubuntu/device.cpp
  function QString (line 27) | static QString getOSName() {

FILE: plugins/cordova-plugin-device/src/ubuntu/device.h
  function class (line 24) | class Device: public CPlugin {

FILE: plugins/cordova-plugin-device/src/wp/Device.cs
  class Device (line 22) | public class Device : BaseCommand
    method getDeviceInfo (line 24) | public void getDeviceInfo(string notused)

FILE: plugins/cordova-plugin-device/www/device.js
  function Device (line 37) | function Device() {

FILE: plugins/cordova-plugin-dialogs/src/android/Notification.java
  class Notification (line 50) | public class Notification extends CordovaPlugin {
    method Notification (line 61) | public Notification() {
    method execute (line 72) | public boolean execute(String action, JSONArray args, CallbackContext ...
    method beep (line 129) | public void beep(final long count) {
    method alert (line 161) | public synchronized void alert(final String message, final String titl...
    method confirm (line 202) | public synchronized void confirm(final String message, final String ti...
    method prompt (line 282) | public synchronized void prompt(final String message, final String tit...
    method activityStart (line 384) | public synchronized void activityStart(final String title, final Strin...
    method activityStop (line 413) | public synchronized void activityStop() {
    method progressStart (line 426) | public synchronized void progressStart(final String title, final Strin...
    method progressValue (line 459) | public synchronized void progressValue(int value) {
    method progressStop (line 468) | public synchronized void progressStop() {
    method createDialog (line 475) | @SuppressLint("NewApi")
    method createProgressDialog (line 485) | @SuppressLint("InlinedApi")
    method changeTextDirection (line 495) | @SuppressLint("NewApi")

FILE: plugins/cordova-plugin-dialogs/src/blackberry10/index.js
  function showDialog (line 19) | function showDialog(args, dialogType, result) {

FILE: plugins/cordova-plugin-dialogs/src/firefoxos/notification.js
  function _empty (line 28) | function _empty() {}
  function modal (line 31) | function modal(message, callback, title, buttonLabels, domObjects) {

FILE: plugins/cordova-plugin-dialogs/src/ios/CDVNotification.h
  function interface (line 25) | interface CDVNotification : CDVPlugin <UIAlertViewDelegate>{}

FILE: plugins/cordova-plugin-dialogs/src/ubuntu/notification.h
  function class (line 24) | class Dialogs: public CPlugin {

FILE: plugins/cordova-plugin-dialogs/src/windows/NotificationProxy.js
  function createPromptDialog (line 37) | function createPromptDialog(title, message, buttons, defaultText, callba...

FILE: plugins/cordova-plugin-dialogs/src/wp/Notification.cs
  class Notification (line 30) | public class Notification : BaseCommand
    class NotifBoxData (line 37) | private class NotifBoxData
    class AlertOptions (line 59) | [DataContract]
      method OnDeserializing (line 62) | [OnDeserializing]
    class PromptResult (line 90) | [DataContract]
      method PromptResult (line 99) | public PromptResult(int index, string text)
    method alert (line 106) | public void alert(string options)
    method prompt (line 148) | public void prompt(string options)
    method confirm (line 204) | public void confirm(string options)
    method promptBoxbutton_Click (line 257) | void promptBoxbutton_Click(object sender, RoutedEventArgs e)
    method page_BackKeyPress (line 300) | void page_BackKeyPress(object sender, System.ComponentModel.CancelEven...
    method btnOK_Click (line 324) | void btnOK_Click(object sender, RoutedEventArgs e)
    method beep (line 365) | public void beep(string options)
    method activityStart (line 397) | public void activityStart(string unused)
    method activityStop (line 431) | public void activityStop(string unused)
    method vibrate (line 456) | public void vibrate(string vibrateDuration)

FILE: plugins/cordova-plugin-dialogs/src/wp/NotificationBox.xaml.cs
  class NotificationBox (line 34) | public partial class NotificationBox : UserControl
    method NotificationBox (line 36) | public NotificationBox()

FILE: plugins/cordova-plugin-dialogs/www/blackberry10/beep.js
  function callback (line 26) | function callback() {
  function play (line 35) | function play() {

FILE: plugins/cordova-plugin-file-transfer/src/amazon/FileTransfer.java
  class FileTransfer (line 66) | public class FileTransfer extends CordovaPlugin {
    class RequestContext (line 81) | private static final class RequestContext {
      method RequestContext (line 89) | RequestContext(String source, String target, CallbackContext callbac...
      method sendPluginResult (line 94) | void sendPluginResult(PluginResult pluginResult) {
    class TrackingInputStream (line 108) | private static abstract class TrackingInputStream extends FilterInputS...
      method TrackingInputStream (line 109) | public TrackingInputStream(final InputStream in) {
      method getTotalRawBytesRead (line 112) | public abstract long getTotalRawBytesRead();
    class ExposedGZIPInputStream (line 115) | private static class ExposedGZIPInputStream extends GZIPInputStream {
      method ExposedGZIPInputStream (line 116) | public ExposedGZIPInputStream(final InputStream in) throws IOExcepti...
      method getInflater (line 119) | public Inflater getInflater() {
    class TrackingGZIPInputStream (line 129) | private static class TrackingGZIPInputStream extends TrackingInputStre...
      method TrackingGZIPInputStream (line 131) | public TrackingGZIPInputStream(final ExposedGZIPInputStream gzin) th...
      method getTotalRawBytesRead (line 135) | public long getTotalRawBytesRead() {
    class SimpleTrackingInputStream (line 143) | private static class SimpleTrackingInputStream extends TrackingInputSt...
      method SimpleTrackingInputStream (line 145) | public SimpleTrackingInputStream(InputStream stream) {
      method updateBytesRead (line 149) | private int updateBytesRead(int newBytesRead) {
      method read (line 156) | @Override
      method read (line 163) | @Override
      method getTotalRawBytesRead (line 168) | public long getTotalRawBytesRead() {
    method execute (line 173) | @Override
    method addHeadersToRequest (line 199) | private static void addHeadersToRequest(URLConnection connection, JSON...
    method upload (line 231) | private void upload(final String source, final String target, JSONArra...
    method safeClose (line 521) | private static void safeClose(Closeable stream) {
    method getInputStream (line 530) | private static TrackingInputStream getInputStream(URLConnection conn) ...
    method verify (line 540) | public boolean verify(String hostname, SSLSession session) {
    method getAcceptedIssuers (line 546) | public java.security.cert.X509Certificate[] getAcceptedIssuers() {
    method checkClientTrusted (line 550) | public void checkClientTrusted(X509Certificate[] chain,
    method checkServerTrusted (line 554) | public void checkServerTrusted(X509Certificate[] chain,
    method trustAllHosts (line 567) | private static SSLSocketFactory trustAllHosts(HttpsURLConnection conne...
    method createFileTransferError (line 582) | private static JSONObject createFileTransferError(int errorCode, Strin...
    method createFileTransferError (line 624) | private static JSONObject createFileTransferError(int errorCode, Strin...
    method getArgument (line 651) | private static String getArgument(JSONArray args, int position, String...
    method download (line 668) | private void download(final String source, final String target, JSONAr...
    method abort (line 871) | private void abort(String objectId) {

FILE: plugins/cordova-plugin-file-transfer/src/android/FileProgressResult.java
  class FileProgressResult (line 27) | public class FileProgressResult {
    method getLengthComputable (line 33) | public boolean getLengthComputable() {
    method setLengthComputable (line 37) | public void setLengthComputable(boolean computable) {
    method getLoaded (line 41) | public long getLoaded() {
    method setLoaded (line 45) | public void setLoaded(long bytes) {
    method getTotal (line 49) | public long getTotal() {
    method setTotal (line 53) | public void setTotal(long bytes) {
    method toJSONObject (line 57) | public JSONObject toJSONObject() throws JSONException {

FILE: plugins/cordova-plugin-file-transfer/src/android/FileTransfer.java
  class FileTransfer (line 69) | public class FileTransfer extends CordovaPlugin {
    class RequestContext (line 85) | private static final class RequestContext {
      method RequestContext (line 92) | RequestContext(String source, String target, CallbackContext callbac...
      method sendPluginResult (line 97) | void sendPluginResult(PluginResult pluginResult) {
    class TrackingInputStream (line 111) | private static abstract class TrackingInputStream extends FilterInputS...
      method TrackingInputStream (line 112) | public TrackingInputStream(final InputStream in) {
      method getTotalRawBytesRead (line 115) | public abstract long getTotalRawBytesRead();
    class ExposedGZIPInputStream (line 118) | private static class ExposedGZIPInputStream extends GZIPInputStream {
      method ExposedGZIPInputStream (line 119) | public ExposedGZIPInputStream(final InputStream in) throws IOExcepti...
      method getInflater (line 122) | public Inflater getInflater() {
    class TrackingGZIPInputStream (line 132) | private static class TrackingGZIPInputStream extends TrackingInputStre...
      method TrackingGZIPInputStream (line 134) | public TrackingGZIPInputStream(final ExposedGZIPInputStream gzin) th...
      method getTotalRawBytesRead (line 138) | public long getTotalRawBytesRead() {
    class SimpleTrackingInputStream (line 146) | private static class SimpleTrackingInputStream extends TrackingInputSt...
      method SimpleTrackingInputStream (line 148) | public SimpleTrackingInputStream(InputStream stream) {
      method updateBytesRead (line 152) | private int updateBytesRead(int newBytesRead) {
      method read (line 159) | @Override
      method read (line 166) | @Override
      method getTotalRawBytesRead (line 171) | public long getTotalRawBytesRead() {
    method execute (line 176) | @Override
    method addHeadersToRequest (line 197) | private static void addHeadersToRequest(URLConnection connection, JSON...
    method getCookies (line 238) | private String getCookies(final String target) {
    method upload (line 279) | private void upload(final String source, final String target, JSONArra...
    method safeClose (line 576) | private static void safeClose(Closeable stream) {
    method getInputStream (line 585) | private static TrackingInputStream getInputStream(URLConnection conn) ...
    method verify (line 595) | public boolean verify(String hostname, SSLSession session) {
    method getAcceptedIssuers (line 601) | public java.security.cert.X509Certificate[] getAcceptedIssuers() {
    method checkClientTrusted (line 605) | public void checkClientTrusted(X509Certificate[] chain,
    method checkServerTrusted (line 609) | public void checkServerTrusted(X509Certificate[] chain,
    method trustAllHosts (line 622) | private static SSLSocketFactory trustAllHosts(HttpsURLConnection conne...
    method createFileTransferError (line 637) | private static JSONObject createFileTransferError(int errorCode, Strin...
    method createFileTransferError (line 679) | private static JSONObject createFileTransferError(int errorCode, Strin...
    method getArgument (line 713) | private static String getArgument(JSONArray args, int position, String...
    method download (line 730) | private void download(final String source, final String target, JSONAr...
    method abort (line 994) | private void abort(String objectId) {

FILE: plugins/cordova-plugin-file-transfer/src/android/FileUploadResult.java
  class FileUploadResult (line 27) | public class FileUploadResult {
    method getBytesSent (line 34) | public long getBytesSent() {
    method setBytesSent (line 38) | public void setBytesSent(long bytes) {
    method getResponseCode (line 42) | public int getResponseCode() {
    method setResponseCode (line 46) | public void setResponseCode(int responseCode) {
    method getResponse (line 50) | public String getResponse() {
    method setResponse (line 54) | public void setResponse(String response) {
    method getObjectId (line 58) | public String getObjectId() {
    method setObjectId (line 62) | public void setObjectId(String objectId) {
    method toJSONObject (line 66) | public JSONObject toJSONObject() throws JSONException {

FILE: plugins/cordova-plugin-file-transfer/src/ios/CDVFileTransfer.h
  type CDVFileTransferError (line 24) | enum CDVFileTransferError {
  type CDVFileTransferError (line 31) | typedef int CDVFileTransferError;
  type CDVFileTransferDirection (line 33) | enum CDVFileTransferDirection {
  type CDVFileTransferDirection (line 37) | typedef int CDVFileTransferDirection;
  function interface (line 42) | interface CDVFileTransfer : CDVPlugin {}
  function interface (line 63) | interface CDVFileTransferDelegate : NSObject {}

FILE: plugins/cordova-plugin-file-transfer/src/ubuntu/file-transfer.cpp
  function SetHeaders (line 24) | static void SetHeaders(QNetworkRequest &request, const QVariantMap &head...

FILE: plugins/cordova-plugin-file-transfer/src/ubuntu/file-transfer.h
  function class (line 30) | class FileTransferRequest: public QObject {
  function class (line 69) | class FileTransfer : public CPlugin {

FILE: plugins/cordova-plugin-file-transfer/src/windows/FileTransferProxy.js
  function cordovaPathToNative (line 40) | function cordovaPathToNative(path) {
  function nativePathToCordova (line 52) | function nativePathToCordova(path) {
  function alreadyCancelled (line 56) | function alreadyCancelled(opId) {
  function doUpload (line 61) | function doUpload (upload, uploadId, filePath, server, successCallback, ...
  function FileTransferOperation (line 148) | function FileTransferOperation(state, promise) {
  function stringToByteArray (line 180) | function stringToByteArray(str) {

FILE: plugins/cordova-plugin-file-transfer/src/wp/FileTransfer.cs
  class FileTransfer (line 32) | public class FileTransfer : BaseCommand
    class DownloadRequestState (line 34) | public class DownloadRequestState
      method DownloadRequestState (line 41) | public DownloadRequestState()
    class TransferOptions (line 49) | public class TransferOptions
      method TransferOptions (line 73) | public TransferOptions()
    class FileUploadResult (line 103) | [DataContract]
      method FileUploadResult (line 130) | public FileUploadResult(long bytesSent, long responseCode, string re...
    class FileTransferError (line 140) | [DataContract]
      method FileTransferError (line 175) | public FileTransferError(int errorCode)
      method FileTransferError (line 183) | public FileTransferError(int errorCode, string source, string target...
    class FileTransferProgress (line 196) | [DataContract]
      method FileTransferProgress (line 215) | public FileTransferProgress(long bTotal = 0, long bLoaded = 0)
    type Header (line 226) | [DataContract]
    method FileTransfer (line 238) | public FileTransfer()
    method CopyCookiesFromWebBrowser (line 256) | private async Task CopyCookiesFromWebBrowser(HttpWebRequest webRequest)
    method upload (line 338) | public void upload(string options)
    method parseHeaders (line 437) | protected Dictionary<string,string> parseHeaders(string jsonHeaders)
    method download (line 459) | public void download(string options)
    method abort (line 638) | public void abort(string options)
    method DispatchFileTransferProgress (line 669) | private void DispatchFileTransferProgress(long bytesLoaded, long bytes...
    method downloadCallback (line 685) | private void downloadCallback(IAsyncResult asynchronousResult)
    method uploadCallback (line 837) | private void uploadCallback(IAsyncResult asynchronousResult)
    method ReadCallback (line 926) | private void ReadCallback(IAsyncResult asynchronousResult)
    method getDirectoryName (line 980) | private string getDirectoryName(String filePath)

FILE: plugins/cordova-plugin-file-transfer/tests/tests.js
  function clearResults (line 1501) | function clearResults() {
  function downloadImg (line 1506) | function downloadImg(source, urlFn, element, directory) {

FILE: plugins/cordova-plugin-file-transfer/www/FileTransfer.js
  function newProgressEvent (line 29) | function newProgressEvent(result) {
  function getUrlCredentials (line 37) | function getUrlCredentials(urlString) {
  function getBasicAuthHeader (line 44) | function getBasicAuthHeader(urlString) {
  function convertHeadersToArray (line 68) | function convertHeadersToArray(headers) {

FILE: plugins/cordova-plugin-file-transfer/www/blackberry10/FileTransfer.js
  function getBasicAuthHeader (line 27) | function getBasicAuthHeader(urlString) {

FILE: plugins/cordova-plugin-file-transfer/www/blackberry10/xhrFileTransfer.js
  function getParentPath (line 29) | function getParentPath(filePath) {
  function getFileName (line 34) | function getFileName(filePath) {
  function checkURL (line 39) | function checkURL(url) {
  function uploadFile (line 90) | function uploadFile(blobFile) {
  function writeFile (line 198) | function writeFile(entry) {

FILE: plugins/cordova-plugin-file-transfer/www/browser/FileTransfer.js
  function getParentPath (line 27) | function getParentPath(filePath) {
  function getFileName (line 32) | function getFileName(filePath) {
  function getUrlCredentials (line 37) | function getUrlCredentials(urlString) {
  function getBasicAuthHeader (line 44) | function getBasicAuthHeader(urlString) {
  function checkURL (line 68) | function checkURL(url) {

FILE: plugins/cordova-plugin-file-transfer/www/firefoxos/FileTransferProxy.js
  function getParentPath (line 25) | function getParentPath(filePath) {
  function getFileName (line 30) | function getFileName(filePath) {
  function onSuccess (line 123) | function onSuccess(data) {
  function onFail (line 129) | function onFail(code) {
  function writeFile (line 163) | function writeFile(entry) {
  function onSuccess (line 207) | function onSuccess(entry) {
  function onFail (line 213) | function onFail(error) {

FILE: plugins/cordova-plugin-file/src/android/AssetFilesystem.java
  class AssetFilesystem (line 37) | public class AssetFilesystem extends Filesystem {
    method lazyInitCaches (line 48) | private void lazyInitCaches() {
    method listAssets (line 77) | private String[] listAssets(String assetPath) throws IOException {
    method getAssetSize (line 97) | private long getAssetSize(String assetPath) throws FileNotFoundExcepti...
    method AssetFilesystem (line 130) | public AssetFilesystem(AssetManager assetManager, CordovaResourceApi r...
    method toNativeUri (line 135) | @Override
    method toLocalUri (line 140) | @Override
    method isDirectory (line 172) | private boolean isDirectory(String assetPath) {
    method listChildren (line 180) | @Override
    method getFileForLocalURL (line 201) | @Override
    method getFileMetadataForLocalURL (line 235) | @Override
    method canRemoveFileAtLocalURL (line 251) | @Override
    method writeToFileAtURL (line 256) | @Override
    method truncateFileAtURL (line 261) | @Override
    method filesystemPathForURL (line 266) | @Override
    method URLforFilesystemPath (line 271) | @Override
    method removeFileAtLocalURL (line 276) | @Override
    method recursiveRemoveFileAtLocalURL (line 281) | @Override

FILE: plugins/cordova-plugin-file/src/android/ContentFilesystem.java
  class ContentFilesystem (line 35) | public class ContentFilesystem extends Filesystem {
    method ContentFilesystem (line 39) | public ContentFilesystem(Context context, CordovaResourceApi resourceA...
    method toNativeUri (line 44) | @Override
    method toLocalUri (line 62) | @Override
    method getFileForLocalURL (line 85) | @Override
    method removeFileAtLocalURL (line 91) | @Override
    method recursiveRemoveFileAtLocalURL (line 106) | @Override
    method listChildren (line 112) | @Override
    method getFileMetadataForLocalURL (line 117) | @Override
    method writeToFileAtURL (line 155) | @Override
    method truncateFileAtURL (line 160) | @Override
    method openCursorForURL (line 166) | protected Cursor openCursorForURL(Uri nativeUri) {
    method resourceSizeForCursor (line 175) | private Long resourceSizeForCursor(Cursor cursor) {
    method lastModifiedDateForCursor (line 186) | protected Long lastModifiedDateForCursor(Cursor cursor) {
    method filesystemPathForURL (line 200) | @Override
    method URLforFilesystemPath (line 206) | @Override
    method canRemoveFileAtLocalURL (line 212) | @Override

FILE: plugins/cordova-plugin-file/src/android/DirectoryManager.java
  class DirectoryManager (line 32) | public class DirectoryManager {
    method testFileExists (line 42) | public static boolean testFileExists(String name) {
    method getFreeExternalStorageSpace (line 63) | public static long getFreeExternalStorageSpace() {
    method getFreeSpaceInBytes (line 84) | public static long getFreeSpaceInBytes(String path) {
    method testSaveLocationExists (line 101) | public static boolean testSaveLocationExists() {
    method constructFilePaths (line 124) | private static File constructFilePaths (String file1, String file2) {

FILE: plugins/cordova-plugin-file/src/android/EncodingException.java
  class EncodingException (line 22) | @SuppressWarnings("serial")
    method EncodingException (line 25) | public EncodingException(String message) {

FILE: plugins/cordova-plugin-file/src/android/FileExistsException.java
  class FileExistsException (line 22) | @SuppressWarnings("serial")
    method FileExistsException (line 25) | public FileExistsException(String msg) {

FILE: plugins/cordova-plugin-file/src/android/FileUtils.java
  class FileUtils (line 56) | public class FileUtils extends CordovaPlugin {
    type FileOp (line 103) | private interface FileOp {
      method run (line 104) | void run(JSONArray args) throws Exception;
    method registerFilesystem (line 109) | public void registerFilesystem(Filesystem fs) {
    method filesystemForName (line 115) | private Filesystem filesystemForName(String name) {
    method getExtraFileSystemsPreference (line 124) | protected String[] getExtraFileSystemsPreference(Activity activity) {
    method registerExtraFileSystems (line 129) | protected void registerExtraFileSystems(String[] filesystems, HashMap<...
    method getAvailableFileSystems (line 151) | protected HashMap<String, String> getAvailableFileSystems(Activity act...
    method initialize (line 173) | @Override
    method getFilePlugin (line 237) | public static FileUtils getFilePlugin() {
    method filesystemForURL (line 241) | private Filesystem filesystemForURL(LocalFilesystemURL localURL) {
    method remapUri (line 246) | @Override
    method execute (line 268) | public boolean execute(String action, final String rawArgs, final Call...
    method getReadPermission (line 552) | private void getReadPermission(String rawArgs, int action, CallbackCon...
    method getWritePermission (line 557) | private void getWritePermission(String rawArgs, int action, CallbackCo...
    method hasReadPermission (line 562) | private boolean hasReadPermission() {
    method hasWritePermission (line 566) | private boolean hasWritePermission() {
    method needPermission (line 570) | private boolean needPermission(String nativeURL, int permissionType) t...
    method resolveNativeUri (line 591) | public LocalFilesystemURL resolveNativeUri(Uri nativeUri) {
    method filesystemPathForURL (line 615) | public String filesystemPathForURL(String localURLstr) throws Malforme...
    method filesystemURLforLocalPath (line 628) | public LocalFilesystemURL filesystemURLforLocalPath(String localPath) {
    method threadhelper (line 652) | private void threadhelper(final FileOp f, final String rawArgs, final ...
    method resolveLocalFileSystemURI (line 698) | private JSONObject resolveLocalFileSystemURI(String uriString) throws ...
    method readEntries (line 740) | private JSONArray readEntries(String baseURLstr) throws FileNotFoundEx...
    method transferTo (line 767) | private JSONObject transferTo(String srcURLstr, String destURLstr, Str...
    method removeRecursively (line 798) | private boolean removeRecursively(String baseURLstr) throws FileExists...
    method remove (line 827) | private boolean remove(String baseURLstr) throws NoModificationAllowed...
    method getFile (line 861) | private JSONObject getFile(String baseURLstr, String path, JSONObject ...
    method getParent (line 880) | private JSONObject getParent(String baseURLstr) throws JSONException, ...
    method getFileMetadata (line 899) | private JSONObject getFileMetadata(String baseURLstr) throws FileNotFo...
    method requestFileSystem (line 921) | private void requestFileSystem(int type, long requiredSize, final Call...
    method requestAllFileSystems (line 953) | private JSONArray requestAllFileSystems() throws IOException, JSONExce...
    method toDirUrl (line 961) | private static String toDirUrl(File f) {
    method requestAllPaths (line 965) | private JSONObject requestAllPaths() throws JSONException {
    method getEntryForFile (line 995) | public JSONObject getEntryForFile(File file) throws JSONException {
    method getEntry (line 1017) | @Deprecated
    method readFileAs (line 1036) | public void readFileAs(final String srcURLstr, final int start, final ...
    method write (line 1105) | public long write(String srcURLstr, String data, int offset, boolean i...
    method truncateFile (line 1123) | private long truncateFile(String srcURLstr, long size) throws FileNotF...
    method onRequestPermissionResult (line 1142) | public void onRequestPermissionResult(int requestCode, String[] permis...

FILE: plugins/cordova-plugin-file/src/android/Filesystem.java
  class Filesystem (line 37) | public abstract class Filesystem {
    method Filesystem (line 44) | public Filesystem(Uri rootUri, String name, CordovaResourceApi resourc...
    type ReadFileCallback (line 50) | public interface ReadFileCallback {
      method handleData (line 51) | public void handleData(InputStream inputStream, String contentType) ...
    method makeEntryForURL (line 54) | public static JSONObject makeEntryForURL(LocalFilesystemURL inputURL, ...
    method makeEntryForURL (line 84) | public JSONObject makeEntryForURL(LocalFilesystemURL inputURL) {
    method makeEntryForNativeUri (line 89) | public JSONObject makeEntryForNativeUri(Uri nativeUri) {
    method getEntryForLocalURL (line 94) | public JSONObject getEntryForLocalURL(LocalFilesystemURL inputURL) thr...
    method makeEntryForFile (line 98) | public JSONObject makeEntryForFile(File file) {
    method getFileForLocalURL (line 102) | abstract JSONObject getFileForLocalURL(LocalFilesystemURL inputURL, St...
    method removeFileAtLocalURL (line 105) | abstract boolean removeFileAtLocalURL(LocalFilesystemURL inputURL) thr...
    method recursiveRemoveFileAtLocalURL (line 107) | abstract boolean recursiveRemoveFileAtLocalURL(LocalFilesystemURL inpu...
    method listChildren (line 109) | abstract LocalFilesystemURL[] listChildren(LocalFilesystemURL inputURL...
    method readEntriesAtLocalURL (line 111) | public final JSONArray readEntriesAtLocalURL(LocalFilesystemURL inputU...
    method getFileMetadataForLocalURL (line 122) | abstract JSONObject getFileMetadataForLocalURL(LocalFilesystemURL inpu...
    method getRootUri (line 124) | public Uri getRootUri() {
    method exists (line 128) | public boolean exists(LocalFilesystemURL inputURL) {
    method nativeUriForFullPath (line 137) | public Uri nativeUriForFullPath(String fullPath) {
    method localUrlforFullPath (line 149) | public LocalFilesystemURL localUrlforFullPath(String fullPath) {
    method normalizePath (line 160) | protected static String normalizePath(String rawPath) {
    method getFreeSpaceInBytes (line 192) | public long getFreeSpaceInBytes() {
    method toNativeUri (line 196) | public abstract Uri toNativeUri(LocalFilesystemURL inputURL);
    method toLocalUri (line 197) | public abstract LocalFilesystemURL toLocalUri(Uri inputURL);
    method getRootEntry (line 199) | public JSONObject getRootEntry() {
    method getParentForLocalURL (line 206) | public JSONObject getParentForLocalURL(LocalFilesystemURL inputURL) th...
    method makeDestinationURL (line 215) | protected LocalFilesystemURL makeDestinationURL(String newName, LocalF...
    method copyFileToURL (line 238) | public JSONObject copyFileToURL(LocalFilesystemURL destURL, String new...
    method getOutputStreamForURL (line 265) | public OutputStream getOutputStreamForURL(LocalFilesystemURL inputURL)...
    method readFileAtURL (line 269) | public void readFileAtURL(LocalFilesystemURL inputURL, long start, lon...
    method writeToFileAtURL (line 290) | abstract long writeToFileAtURL(LocalFilesystemURL inputURL, String dat...
    method truncateFileAtURL (line 293) | abstract long truncateFileAtURL(LocalFilesystemURL inputURL, long size)
    method filesystemPathForURL (line 297) | abstract String filesystemPathForURL(LocalFilesystemURL url);
    method URLforFilesystemPath (line 299) | abstract LocalFilesystemURL URLforFilesystemPath(String path);
    method canRemoveFileAtLocalURL (line 301) | abstract boolean canRemoveFileAtLocalURL(LocalFilesystemURL inputURL);
    class LimitedInputStream (line 303) | protected class LimitedInputStream extends FilterInputStream {
      method LimitedInputStream (line 305) | public LimitedInputStream(InputStream in, long numBytesToRead) {
      method read (line 309) | @Override
      method read (line 317) | @Override

FILE: plugins/cordova-plugin-file/src/android/InvalidModificationException.java
  class InvalidModificationException (line 23) | @SuppressWarnings("serial")
    method InvalidModificationException (line 26) | public InvalidModificationException(String message) {

FILE: plugins/cordova-plugin-file/src/android/LocalFilesystem.java
  class LocalFilesystem (line 42) | public class LocalFilesystem extends Filesystem {
    method LocalFilesystem (line 45) | public LocalFilesystem(String name, Context context, CordovaResourceAp...
    method filesystemPathForFullPath (line 50) | public String filesystemPathForFullPath(String fullPath) {
    method filesystemPathForURL (line 54) | @Override
    method fullPathForFilesystemPath (line 59) | private String fullPathForFilesystemPath(String absolutePath) {
    method toNativeUri (line 66) | @Override
    method toLocalUri (line 71) | @Override
    method URLforFilesystemPath (line 103) | @Override
    method getFileForLocalURL (line 108) | @Override
    method removeFileAtLocalURL (line 172) | @Override
    method exists (line 185) | @Override
    method getFreeSpaceInBytes (line 191) | @Override
    method recursiveRemoveFileAtLocalURL (line 196) | @Override
    method removeDirRecursively (line 202) | protected boolean removeDirRecursively(File directory) throws FileExis...
    method listChildren (line 216) | @Override
    method getFileMetadataForLocalURL (line 238) | @Override
    method copyFile (line 260) | private void copyFile(Filesystem srcFs, LocalFilesystemURL srcURL, Fil...
    method copyDirectory (line 280) | private void copyDirectory(Filesystem srcFs, LocalFilesystemURL srcURL...
    method copyFileToURL (line 326) | @Override
    method writeToFileAtURL (line 373) | @Override
    method isPublicDirectory (line 417) | private boolean isPublicDirectory(String absolutePath) {
    method broadcastNewFile (line 435) | private void broadcastNewFile(Uri nativeUri) {
    method truncateFileAtURL (line 440) | @Override
    method canRemoveFileAtLocalURL (line 464) | @Override
    method copyResource (line 475) | private static void copyResource(CordovaResourceApi.OpenForReadResult ...

FILE: plugins/cordova-plugin-file/src/android/LocalFilesystemURL.java
  class LocalFilesystemURL (line 23) | public class LocalFilesystemURL {
    method LocalFilesystemURL (line 32) | private LocalFilesystemURL(Uri uri, String fsName, String fsPath, bool...
    method parse (line 39) | public static LocalFilesystemURL parse(Uri uri) {
    method parse (line 57) | public static LocalFilesystemURL parse(String uri) {
    method toString (line 61) | public String toString() {

FILE: plugins/cordova-plugin-file/src/android/NoModificationAllowedException.java
  class NoModificationAllowedException (line 22) | @SuppressWarnings("serial")
    method NoModificationAllowedException (line 25) | public NoModificationAllowedException(String message) {

FILE: plugins/cordova-plugin-file/src/android/PendingRequests.java
  class PendingRequests (line 28) | class PendingRequests {
    method createRequest (line 40) | public synchronized int createRequest(String rawArgs, int action, Call...
    method getAndRemove (line 52) | public synchronized Request getAndRemove(int requestCode) {
    class Request (line 61) | public class Request {
      method Request (line 75) | private Request(String rawArgs, int action, CallbackContext callback...
      method getAction (line 82) | public int getAction() {
      method getRawArgs (line 86) | public String getRawArgs() {
      method getCallbackContext (line 90) | public CallbackContext getCallbackContext() {

FILE: plugins/cordova-plugin-file/src/android/TypeMismatchException.java
  class TypeMismatchException (line 23) | @SuppressWarnings("serial")
    method TypeMismatchException (line 26) | public TypeMismatchException(String message) {

FILE: plugins/cordova-plugin-file/src/browser/FileProxy.js
  function deleteEntry (line 329) | function deleteEntry(isDirectory) {
  function handlePathSlashes (line 559) | function handlePathSlashes(path) {
  function writeFile (line 625) | function writeFile(entry) {
  function MyFile (line 660) | function MyFile(opts) {
  function resolveToFullPath_ (line 691) | function resolveToFullPath_(cwdFullPath, path) {
  function fileEntryFromIdbEntry (line 761) | function fileEntryFromIdbEntry(fileEntry) {
  function readAs (line 769) | function readAs(what, fullPath, encoding, startPos, endPos, successCallb...
  function onError (line 968) | function onError(e) {

FILE: plugins/cordova-plugin-file/src/firefoxos/FileProxy.js
  function writeFile (line 470) | function writeFile(entry) {
  function MyFile (line 505) | function MyFile(opts) {
  function resolveToFullPath_ (line 536) | function resolveToFullPath_(cwdFullPath, path) {
  function fileEntryFromIdbEntry (line 598) | function fileEntryFromIdbEntry(fileEntry) {
  function readAs (line 606) | function readAs(what, fullPath, encoding, startPos, endPos, successCallb...
  function onError (line 784) | function onError(e) {

FILE: plugins/cordova-plugin-file/src/ios/CDVAssetLibraryFilesystem.h
  function interface (line 25) | interface CDVAssetLibraryFilesystem : NSObject<CDVFileSystem> {

FILE: plugins/cordova-plugin-file/src/ios/CDVFile.h
  type CDVFileError (line 26) | enum CDVFileError {
  type CDVFileError (line 41) | typedef int CDVFileError;
  function interface (line 43) | interface CDVFilesystemURL : NSObject  {

FILE: plugins/cordova-plugin-file/src/ios/CDVLocalFilesystem.h
  function interface (line 22) | interface CDVLocalFilesystem : NSObject<CDVFileSystem> {

FILE: plugins/cordova-plugin-file/src/osx/CDVFile.h
  type CDVFileError (line 39) | enum CDVFileError {
  type CDVFileError (line 54) | typedef int CDVFileError;
  function interface (line 56) | interface CDVFilesystemURL : NSObject  {

FILE: plugins/cordova-plugin-file/src/osx/CDVLocalFilesystem.h
  function interface (line 22) | interface CDVLocalFilesystem : NSObject<CDVFileSystem> {

FILE: plugins/cordova-plugin-file/src/ubuntu/file.cpp
  class FileError (line 20) | class FileError {
  function checkFileName (line 36) | bool checkFileName(const QString &name) {
  function QVariantMap (line 63) | QVariantMap File::file2map(const QFileInfo &fileInfo) {
  function QVariantMap (line 78) | QVariantMap File::dir2map(const QDir &dir) {
  function Q_FOREACH (line 690) | Q_FOREACH(const QFileInfo &fileInfo, dir.entryInfoList(QDir::Dirs | QDir...

FILE: plugins/cordova-plugin-file/src/ubuntu/file.h
  function class (line 24) | class File: public CPlugin {

FILE: plugins/cordova-plugin-file/src/windows/FileProxy.js
  function Entry (line 31) | function Entry(isFile, isDirectory, name, fullPath, filesystemName, nati...
  function writeBytesAsync (line 56) | function  writeBytesAsync(storageFile, data, position) {
  function writeTextAsync (line 72) | function writeTextAsync(storageFile, data, position) {
  function writeBlobAsync (line 88) | function writeBlobAsync(storageFile, data, position) {
  function writeArrayBufferAsync (line 109) | function writeArrayBufferAsync(storageFile, data, position) {
  function cordovaPathToNative (line 113) | function cordovaPathToNative(path) {
  function nativePathToCordova (line 121) | function nativePathToCordova(path) {
  function validName (line 128) | function validName(name) {
  function sanitize (line 132) | function sanitize(path) {
  function getAllFS (line 183) | function getAllFS() {
  function getFS (line 209) | function getFS(name) {
  function getFilesystemFromPath (line 221) | function getFilesystemFromPath(path) {
  function pathFromURL (line 234) | function pathFromURL(url) {
  function getFilesystemFromURL (line 261) | function getFilesystemFromURL(url) {
  function getFsPathForWinPath (line 282) | function getFsPathForWinPath(fs, wpath) {
  function openPath (line 295) | function openPath(path, ops) {
  function copyFolder (line 339) | function copyFolder(src,dst,name) {
  function moveFolder (line 377) | function moveFolder(src,dst,name) {
  function transport (line 415) | function transport(success, fail, args, ops) { // ["fullPath","parent", ...
  function getWriteMethodForData (line 1018) | function getWriteMethodForData(data, isBinary) {

FILE: plugins/cordova-plugin-file/src/wp/File.cs
  class File (line 32) | public class File : BaseCommand
    class ErrorCode (line 62) | [DataContract]
      method ErrorCode (line 74) | public ErrorCode(int code)
    class FileOptions (line 83) | [DataContract]
      method FileOptions (line 195) | public FileOptions()
      method SetDefaultValues (line 205) | [OnDeserializing()]
    class FileMetadata (line 217) | [DataContract]
      method FileMetadata (line 235) | public FileMetadata(string filePath)
    class ModificationMetadata (line 289) | [DataContract]
    class FileEntry (line 302) | [DataContract]
      method GetEntry (line 351) | public static FileEntry GetEntry(string filePath, bool bIsRes=false)
      method FileEntry (line 370) | public FileEntry(string filePath, bool bIsRes = false)
      method GetDirectoryName (line 428) | private string GetDirectoryName(string path)
    class FileSystemInfo (line 451) | [DataContract]
      method FileSystemInfo (line 471) | public FileSystemInfo(string name, FileEntry rootEntry = null)
    class CreatingOptions (line 478) | [DataContract]
    method getOptionStrings (line 497) | private string[] getOptionStrings(string options)
    method getFreeDiskSpace (line 515) | public void getFreeDiskSpace(string options)
    method testFileExists (line 543) | public void testFileExists(string options)
    method testDirectoryExists (line 552) | public void testDirectoryExists(string options)
    method IsDirectoryOrFileExist (line 562) | public void IsDirectoryOrFileExist(string options, bool isDirectory)
    method readAsDataURL (line 604) | public void readAsDataURL(string options)
    method readFileBytes (line 646) | private byte[] readFileBytes(string filePath,int startPos,int endPos, ...
    method readAsArrayBuffer (line 676) | public void readAsArrayBuffer(string options)
    method readAsBinaryString (line 709) | public void readAsBinaryString(string options)
    method readAsText (line 745) | public void readAsText(string options)
    method readResourceAsText (line 790) | public void readResourceAsText(string options)
    method truncate (line 829) | public void truncate(string options)
    method write (line 871) | public void write(string options)
    method getMetadata (line 931) | public void getMetadata(string options)
    method getFileMetadata (line 981) | public void getFileMetadata(string options)
    method getParent (line 1017) | public void getParent(string options)
    method remove (line 1062) | public void remove(string options)
    method removeRecursively (line 1107) | public void removeRecursively(string options)
    method readEntries (line 1129) | public void readEntries(string options)
    method requestFileSystem (line 1179) | public void requestFileSystem(string options)
    method resolveLocalFileSystemURI (line 1254) | public void resolveLocalFileSystemURI(string options)
    method copyTo (line 1294) | public void copyTo(string options)
    method moveTo (line 1299) | public void moveTo(string options)
    method getFile (line 1304) | public void getFile(string options)
    method getDirectory (line 1309) | public void getDirectory(string options)
    method GetParentDirectory (line 1321) | private string GetParentDirectory(string path)
    method removeDirRecursively (line 1342) | private bool removeDirRecursively(string fullPath,string callbackId)
    method CanonicalCompare (line 1395) | private bool CanonicalCompare(string pathA, string pathB)
    method TransferTo (line 1407) | private void TransferTo(string options, bool move)
    method HandleException (line 1528) | private bool HandleException(Exception ex, string cbId="")
    method CopyDirectory (line 1560) | private void CopyDirectory(string sourceDir, string destDir, IsolatedS...
    method RemoveExtraSlash (line 1592) | private string RemoveExtraSlash(string path) {
    method ResolvePath (line 1600) | private string ResolvePath(string parentPath, string path)
    method GetFileOrDirectory (line 1621) | private void GetFileOrDirectory(string options, bool getDirectory)
    method AddSlashToDirectory (line 1771) | private static string AddSlashToDirectory(string dirPath)
    method GetFileContent (line 1788) | private string GetFileContent(Stream stream)

FILE: plugins/cordova-plugin-file/tests/src/android/TestContentProvider.java
  class TestContentProvider (line 38) | public class TestContentProvider extends ContentProvider {
    method openFile (line 40) | @Override
    method onCreate (line 65) | @Override
    method query (line 70) | @Override
    method getType (line 75) | @Override
    method insert (line 80) | @Override
    method delete (line 85) | @Override
    method update (line 90) | @Override

FILE: plugins/cordova-plugin-file/tests/tests.js
  function failed (line 174) | function failed(done, msg, error) {
  function gotDirectory (line 345) | function gotDirectory(entry) {
  function gotDirectory (line 363) | function gotDirectory(entry) {
  function win (line 502) | function win(entry) {
  function getFile (line 512) | function getFile(file) {
  function fail (line 528) | function fail(error) {
  function getFile (line 541) | function getFile(file) {
  function win (line 613) | function win(directory) {
  function getDir (line 623) | function getDir(dirEntry) {
  function win (line 646) | function win(directory) {
  function getDir (line 656) | function getDir(dirEntry) {
  function writeDummyFile (line 2255) | function writeDummyFile(writeBinary, callback, done, fileContents) {
  function runReaderTest (line 2284) | function runReaderTest(funcName, writeBinary, done, progressFunc, verifi...
  function arrayBufferEqualsString (line 2304) | function arrayBufferEqualsString(ab, str) {
  function verifier (line 2503) | function verifier(evt) {
  function secondVerifier (line 2512) | function secondVerifier(evt) {
  function thirdVerifier (line 2520) | function thirdVerifier(evt) {
  function verifier (line 2542) | function verifier() {
  function secondVerifier (line 2551) | function secondVerifier() {
  function thirdVerifier (line 2559) | function thirdVerifier(evt) {
  function verifier (line 2580) | function verifier(evt) {
  function secondVerifier (line 2589) | function secondVerifier(evt) {
  function thirdVerifier (line 2597) | function thirdVerifier(evt) {
  function verifier (line 2624) | function verifier(evt) {
  function secondVerifier (line 2633) | function secondVerifier(evt) {
  function thirdVerifier (line 2641) | function thirdVerifier(evt) {
  function testContentCopy (line 3579) | function testContentCopy(src, done) {
  function resolveFs (line 3727) | function resolveFs(fsname) {
  function testPrivateURL (line 3743) | function testPrivateURL() {
  function clearLog (line 3765) | function clearLog() {
  function logMessage (line 3770) | function logMessage(message, color) {
  function logError (line 3780) | function logError(serviceName) {

FILE: plugins/cordova-plugin-file/www/DirectoryReader.js
  function DirectoryReader (line 28) | function DirectoryReader(localURL) {

FILE: plugins/cordova-plugin-file/www/Entry.js
  function Entry (line 48) | function Entry(isFile, isDirectory, name, fullPath, fileSystem, nativeUR...

FILE: plugins/cordova-plugin-file/www/FileError.js
  function FileError (line 25) | function FileError(error) {

FILE: plugins/cordova-plugin-file/www/FileReader.js
  function defineEvent (line 71) | function defineEvent(eventName) {
  function initRead (line 85) | function initRead(reader, file) {
  function readSuccessCallback (line 119) | function readSuccessCallback(readType, encoding, offset, totalSize, accu...
  function readFailureCallback (line 162) | function readFailureCallback(e) {

FILE: plugins/cordova-plugin-file/www/Flags.js
  function Flags (line 31) | function Flags(create, exclusive) {

FILE: plugins/cordova-plugin-file/www/blackberry10/copyTo.js
  function onSuccess (line 45) | function onSuccess() {
  function onFail (line 56) | function onFail(error) {
  function writeFile (line 72) | function writeFile(fileEntry, blob, entry) {
  function copyFile (line 88) | function copyFile(entry) {
  function copyDirectory (line 110) | function copyDirectory(entry) {

FILE: plugins/cordova-plugin-file/www/blackberry10/resolveLocalFileSystemURI.js
  function resolveFile (line 80) | function resolveFile(success, fail, request, options) {
  function resolveCdvFile (line 86) | function resolveCdvFile(success, fail, request, options, size) {
  function resolveLocal (line 105) | function resolveLocal(success, fail, request, options) {
  function resolve (line 111) | function resolve(success, fail, path, fsType, sandbox, options, size) {
  function resolveNative (line 132) | function resolveNative(success, fail, path, fsType, options, size) {

FILE: plugins/cordova-plugin-file/www/browser/Preparing.js
  function createFileEntryFunctions (line 109) | function createFileEntryFunctions(fs) {
  function dispatchEventIfReady (line 181) | function dispatchEventIfReady() {

FILE: plugins/cordova-plugin-file/www/fileSystemPaths.js
  function after (line 55) | function after(paths) {

FILE: plugins/cordova-plugin-file/www/fileSystems-roots.js
  function success (line 29) | function success(response) {

FILE: plugins/cordova-plugin-file/www/requestFileSystem.js
  function checkBrowser (line 24) | function checkBrowser() {

FILE: plugins/cordova-plugin-file/www/resolveLocalFileSystemURI.js
  function checkBrowser (line 23) | function checkBrowser() {

FILE: plugins/cordova-plugin-file/www/ubuntu/FileWriter.js
  function write (line 26) | function write(data) {

FILE: plugins/cordova-plugin-inappbrowser/src/amazon/InAppBrowser.java
  class InAppBrowser (line 70) | @SuppressLint("SetJavaScriptEnabled")
    method execute (line 106) | public boolean execute(String action, CordovaArgs args, final Callback...
    method onReset (line 224) | @Override
    method onDestroy (line 233) | public void onDestroy() {
    method injectDeferredObject (line 253) | private void injectDeferredObject(String source, String jsWrapper) {
    method parseFeature (line 285) | private HashMap<String, Boolean> parseFeature(String optString) {
    method openExternal (line 311) | public String openExternal(String url) {
    method closeDialog (line 334) | public void closeDialog() {
    method goBack (line 370) | private void goBack() {
    method goForward (line 383) | private void goForward() {
    method navigate (line 398) | private void navigate(final String url) {
    method getShowLocationBar (line 420) | private boolean getShowLocationBar() {
    method getShowZoomControls (line 429) | private boolean getShowZoomControls() {
    method getInAppBrowser (line 433) | private InAppBrowser getInAppBrowser(){
    method showWebPage (line 443) | public String showWebPage(final String url, HashMap<String, Boolean> f...
    method sendUpdate (line 694) | private void sendUpdate(JSONObject obj, boolean keepCallback) {
    method sendUpdate (line 704) | private void sendUpdate(JSONObject obj, boolean keepCallback, PluginRe...
    class InAppBrowserClient (line 718) | public class InAppBrowserClient extends AmazonWebViewClient {
      method InAppBrowserClient (line 728) | public InAppBrowserClient(CordovaWebView webView, EditText mEditText) {
      method onPageStarted (line 739) | @Override
      method onPageFinished (line 816) | public void onPageFinished(AmazonWebView view, String url) {
      method onReceivedError (line 830) | public void onReceivedError(AmazonWebView view, int errorCode, Strin...

FILE: plugins/cordova-plugin-inappbrowser/src/amazon/InAppChromeClient.java
  class InAppChromeClient (line 34) | public class InAppChromeClient extends AmazonWebChromeClient {
    method InAppChromeClient (line 40) | public InAppChromeClient(CordovaWebView webView) {
    method onExceededDatabaseQuota (line 54) | @Override
    method onGeolocationPermissionsShowPrompt (line 81) | @Override
    method onJsPrompt (line 113) | @Override

FILE: plugins/cordova-plugin-inappbrowser/src/android/InAppBrowser.java
  class InAppBrowser (line 72) | @SuppressLint("SetJavaScriptEnabled")
    method execute (line 111) | public boolean execute(String action, CordovaArgs args, final Callback...
    method onReset (line 257) | @Override
    method onDestroy (line 266) | public void onDestroy() {
    method injectDeferredObject (line 286) | private void injectDeferredObject(String source, String jsWrapper) {
    method parseFeature (line 318) | private HashMap<String, Boolean> parseFeature(String optString) {
    method openExternal (line 343) | public String openExternal(String url) {
    method closeDialog (line 367) | public void closeDialog() {
    method goBack (line 406) | public void goBack() {
    method canGoBack (line 416) | public boolean canGoBack() {
    method hardwareBack (line 424) | public boolean hardwareBack() {
    method goForward (line 431) | private void goForward() {
    method navigate (line 442) | private void navigate(String url) {
    method getShowLocationBar (line 460) | private boolean getShowLocationBar() {
    method getInAppBrowser (line 464) | private InAppBrowser getInAppBrowser(){
    method showWebPage (line 474) | public String showWebPage(final String url, HashMap<String, Boolean> f...
    method sendUpdate (line 745) | private void sendUpdate(JSONObject obj, boolean keepCallback) {
    method sendUpdate (line 755) | private void sendUpdate(JSONObject obj, boolean keepCallback, PluginRe...
    class InAppBrowserClient (line 769) | public class InAppBrowserClient extends WebViewClient {
      method InAppBrowserClient (line 779) | public InAppBrowserClient(CordovaWebView webView, EditText mEditText) {
      method shouldOverrideUrlLoading (line 792) | @Override
      method onPageStarted (line 855) | @Override
      method onPageFinished (line 887) | public void onPageFinished(WebView view, String url) {
      method onReceivedError (line 908) | public void onReceivedError(WebView view, int errorCode, String desc...
      method onReceivedHttpAuthRequest (line 927) | @Override

FILE: plugins/cordova-plugin-inappbrowser/src/android/InAppBrowserDialog.java
  class InAppBrowserDialog (line 32) | public class InAppBrowserDialog extends Dialog {
    method InAppBrowserDialog (line 36) | public InAppBrowserDialog(Context context, int theme) {
    method setInAppBroswer (line 41) | public void setInAppBroswer(InAppBrowser browser) {
    method onBackPressed (line 45) | public void onBackPressed () {

FILE: plugins/cordova-plugin-inappbrowser/src/android/InAppChromeClient.java
  class InAppChromeClient (line 34) | public class InAppChromeClient extends WebChromeClient {
    method InAppChromeClient (line 40) | public InAppChromeClient(CordovaWebView webView) {
    method onExceededDatabaseQuota (line 54) | @Override
    method onGeolocationPermissionsShowPrompt (line 68) | @Override
    method onJsPrompt (line 100) | @Override

FILE: plugins/cordova-plugin-inappbrowser/src/browser/InAppBrowserProxy.js
  function attachNavigationEvents (line 32) | function attachNavigationEvents(element, callback) {

FILE: plugins/cordova-plugin-inappbrowser/src/firefoxos/InAppBrowserProxy.js
  function updateIframeSizeNoLocation (line 68) | function updateIframeSizeNoLocation() {

FILE: plugins/cordova-plugin-inappbrowser/src/ios/CDVInAppBrowser.h
  function interface (line 32) | interface CDVInAppBrowser : CDVPlugin {

FILE: plugins/cordova-plugin-inappbrowser/src/ubuntu/inappbrowser.h
  function class (line 29) | class Inappbrowser: public CPlugin {

FILE: plugins/cordova-plugin-inappbrowser/src/windows/InAppBrowserProxy.js
  function attachNavigationEvents (line 42) | function attachNavigationEvents(element, callback) {
  function injectCSS (line 326) | function injectCSS (webView, cssCode, callback) {

FILE: plugins/cordova-plugin-inappbrowser/src/wp/InAppBrowser.cs
  class BrowserOptions (line 39) | [DataContract]
  class InAppBrowser (line 49) | public class InAppBrowser : BaseCommand
    method open (line 63) | public void open(string options)
    method show (line 119) | public void show(string options)
    method injectScriptCode (line 134) | public void injectScriptCode(string options)
    method injectScriptFile (line 160) | public void injectScriptFile(string options)
    method injectStyleCode (line 167) | public void injectStyleCode(string options)
    method injectStyleFile (line 200) | public void injectStyleFile(string options)
    method ShowCordovaBrowser (line 209) | private void ShowCordovaBrowser(string url)
    method ShowSystemBrowser (line 233) | private async void ShowSystemBrowser(string url)
    method GetFile (line 253) | private async Task<StorageFile> GetFile(string fileName)
    method ShowSystemBrowser (line 272) | private void ShowSystemBrowser(string url)
    method ShowInAppBrowser (line 280) | private void ShowInAppBrowser(string url)
    method page_BackKeyPress (line 360) | void page_BackKeyPress(object sender, System.ComponentModel.CancelEven...
    method browser_LoadCompleted (line 377) | void browser_LoadCompleted(object sender, System.Windows.Navigation.Na...
    method fwdButton_Click (line 382) | void fwdButton_Click(object sender, EventArgs e)
    method backButton_Click (line 401) | void backButton_Click(object sender, EventArgs e)
    method closeBtn_Click (line 420) | void closeBtn_Click(object sender, EventArgs e)
    method close (line 426) | public void close(string options = "")
    method browser_Navigated (line 457) | void browser_Navigated(object sender, System.Windows.Navigation.Naviga...
    method browser_NavigationFailed (line 473) | void browser_NavigationFailed(object sender, System.Windows.Navigation...
    method browser_Navigating (line 481) | void browser_Navigating(object sender, NavigatingEventArgs e)
  class WebBrowserExtensions (line 491) | internal static class WebBrowserExtensions
    method Navigate2 (line 498) | internal static void Navigate2(this WebBrowser browser, Uri uri)

FILE: plugins/cordova-plugin-inappbrowser/tests/tests.js
  function verifyEvent (line 71) | function verifyEvent(evt, type) {
  function verifyLoadErrorEvent (line 79) | function verifyLoadErrorEvent(evt) {
  function doOpen (line 136) | function doOpen(url, target, params, numExpectedRedirects, useWindowOpen) {
  function doHookOpen (line 215) | function doHookOpen(url, target, params, numExpectedRedirects) {
  function openWithStyle (line 234) | function openWithStyle(url, cssUrl, useCallback) {
  function openWithScript (line 256) | function openWithScript(url, jsUrl, useCallback) {
  function openHidden (line 289) | function openHidden(url, startHidden) {
  function showHidden (line 298) | function showHidden() {
  function closeHidden (line 303) | function closeHidden() {

FILE: plugins/cordova-plugin-inappbrowser/www/inappbrowser.js
  function InAppBrowser (line 34) | function InAppBrowser() {

FILE: plugins/cordova-plugin-splashscreen/src/android/SplashScreen.java
  class SplashScreen (line 42) | public class SplashScreen extends CordovaPlugin {
    method getView (line 62) | private View getView() {
    method pluginInitialize (line 70) | @Override
    method isMaintainAspectRatio (line 100) | private boolean isMaintainAspectRatio () {
    method onPause (line 104) | @Override
    method onDestroy (line 113) | @Override
    method execute (line 124) | @Override
    method onMessage (line 156) | @Override
    method onConfigurationChanged (line 179) | public void onConfigurationChanged(Configuration newConfig) {
    method removeSplashScreen (line 193) | private void removeSplashScreen() {
    method showSplashScreen (line 208) | @SuppressWarnings("deprecation")
    method loadSpinner (line 276) | private void loadSpinner() {
    method spinnerStart (line 304) | private void spinnerStart(final String title, final String message) {
    method spinnerStop (line 318) | private void spinnerStop() {

FILE: plugins/cordova-plugin-splashscreen/src/browser/SplashScreenProxy.js
  function updateImageLocation (line 34) | function updateImageLocation() {
  function onResize (line 51) | function onResize() {
  function readPreferencesFromCfg (line 91) | function readPreferencesFromCfg(cfg) {
  function showAndHide (line 113) | function showAndHide() {

FILE: plugins/cordova-plugin-splashscreen/src/ios/CDVSplashScreen.h
  type CDV_iOSDevice (line 23) | typedef struct {
  function interface (line 33) | interface CDVSplashScreen : CDVPlugin {

FILE: plugins/cordova-plugin-splashscreen/src/ubuntu/splashscreen.h
  function class (line 30) | class Splashscreen: public CPlugin {

FILE: plugins/cordova-plugin-splashscreen/src/wp/ResolutionHelper.cs
  type Resolutions (line 21) | public enum Resolutions { WVGA, WXGA, HD };
  class ResolutionHelper (line 23) | public static class ResolutionHelper

FILE: plugins/cordova-plugin-splashscreen/src/wp/SplashScreen.cs
  class SplashScreen (line 41) | public class SplashScreen : BaseCommand
    method SplashScreen (line 58) | public SplashScreen()
    method OnInit (line 86) | public override void OnInit()
    method LoadConfigPrefs (line 97) | private void LoadConfigPrefs()
    method GetSplashScreenImageResource (line 135) | private StreamResourceInfo GetSplashScreenImageResource()
    method show (line 181) | public void show(string options = null)
    method hide (line 213) | public void hide(string options = null)
    method StartAutoHideTimer (line 241) | private void StartAutoHideTimer()

FILE: plugins/cordova-plugin-splashscreen/tests/tests.js
  function showFor (line 41) | function showFor(duration) {

FILE: plugins/cordova-plugin-statusbar/src/android/StatusBar.java
  class StatusBar (line 37) | public class StatusBar extends CordovaPlugin {
    method initialize (line 47) | @Override
    method execute (line 74) | @Override
    method setStatusBarBackgroundColor (line 121) | private void setStatusBarBackgroundColor(final String colorPref) {

FILE: plugins/cordova-plugin-statusbar/src/ios/CDVStatusBar.h
  function interface (line 23) | interface CDVStatusBar : CDVPlugin {

FILE: plugins/cordova-plugin-statusbar/src/windows/StatusBarProxy.js
  function isSupported (line 23) | function isSupported() {
  function getViewStatusBar (line 32) | function getViewStatusBar() {
  function hexToRgb (line 39) | function hexToRgb(hex) {

FILE: plugins/cordova-plugin-statusbar/src/wp/StatusBar.cs
  class StatusBar (line 37) | public class StatusBar : BaseCommand
    method ColorFromHex (line 41) | protected Color ColorFromHex(string hexString)
    method _ready (line 62) | public void _ready(string options)
    method overlaysWebView (line 73) | public void overlaysWebView(string options)
    method styleDefault (line 78) | public void styleDefault(string options)
    method styleLightContent (line 86) | public void styleLightContent(string options)
    method styleBlackTranslucent (line 95) | public void styleBlackTranslucent(string options)
    method styleBlackOpaque (line 100) | public void styleBlackOpaque(string options)
    method backgroundColorByName (line 105) | public void backgroundColorByName(string options)
    method backgroundColorByHexString (line 110) | public void backgroundColorByHexString(string options)
    method hide (line 124) | public void hide(string options)
    method show (line 133) | public void show(string options)

FILE: plugins/cordova-plugin-statusbar/tests/tests.js
  function log (line 64) | function log(msg) {
  function doShow (line 71) | function doShow() {
  function doHide (line 76) | function doHide() {
  function doColor1 (line 81) | function doColor1() {
  function doColor2 (line 86) | function doColor2() {
  function doColor3 (line 91) | function doColor3() {
  function doOverlay (line 97) | function doOverlay() {

FILE: plugins/cordova-plugin-vibration/src/android/Vibration.java
  class Vibration (line 32) | public class Vibration extends CordovaPlugin {
    method Vibration (line 37) | public Vibration() {
    method execute (line 48) | public boolean execute(String action, JSONArray args, CallbackContext ...
    method vibrate (line 85) | public void vibrate(long time) {
    method vibrateWithPattern (line 118) | public void vibrateWithPattern(long[] pattern, int repeat) {
    method cancelVibration (line 129) | public void cancelVibration() {

FILE: plugins/cordova-plugin-vibration/src/blackberry10/native/public/plugin.cpp
  function BOOL (line 27) | BOOL APIENTRY DllMain( HANDLE hModule,
  function string (line 42) | string g_GetSysErrMsg( void )
  function g_sleep (line 74) | void g_sleep( unsigned int mseconds )
  function string (line 83) | string& g_trim( string& str )
  function g_tokenize (line 103) | void g_tokenize( const string& str, const string& delimiters, vector<str...
  class GlobalSharedModule (line 131) | class GlobalSharedModule
    method GlobalSharedModule (line 135) | GlobalSharedModule( void )
  function g_unregisterObject (line 192) | bool g_unregisterObject( const string& strObjId, void* pContext )

FILE: plugins/cordova-plugin-vibration/src/blackberry10/native/public/plugin.h
  function class (line 74) | class JSExt

FILE: plugins/cordova-plugin-vibration/src/blackberry10/native/public/tokenizer.cpp
  function tokenize (line 43) | void tokenize ( const string& str, vector<string>& result,

FILE: plugins/cordova-plugin-vibration/src/blackberry10/native/src/vibration_js.cpp
  function JSExt (line 59) | JSExt* onCreateObject(const string& className, const string& id) {
  function string (line 79) | string Vibration::InvokeMethod(const string& command) {

FILE: plugins/cordova-plugin-vibration/src/blackberry10/native/src/vibration_js.hpp
  class Vibration (line 28) | class Vibration: public JSExt {

FILE: plugins/cordova-plugin-vibration/src/ios/CDVVibration.h
  function interface (line 25) | interface CDVVibration : CDVPlugin {}

FILE: plugins/cordova-plugin-vibration/src/ubuntu/vibration.h
  function class (line 27) | class Vibration: public CPlugin {

FILE: plugins/cordova-plugin-vibration/src/windows/Vibration/Vibration.cs
  class Vibration (line 29) | public sealed class Vibration
    method vibrate (line 33) | public static void vibrate([ReadOnlyArray()] object[] args)
    method cancelVibration (line 50) | public static void cancelVibration()

FILE: plugins/cordova-plugin-vibration/src/windows/VibrationProxy.js
  function checkReqs (line 22) | function checkReqs(actionName, fail) {
  function tryDoAction (line 31) | function tryDoAction(actionName, success, fail, args, action) {

FILE: plugins/cordova-plugin-vibration/src/wp/Vibration.cs
  class Vibration (line 29) | public class Vibration : BaseCommand
    method vibrate (line 39) | public void vibrate(string vibrateDuration)
    method vibrateMs (line 70) | private static void vibrateMs(int msecs)
    method vibrateWithPattern (line 75) | public async Task vibrateWithPattern(string options)
    method cancelVibration (line 109) | public void cancelVibration(string options)

FILE: plugins/cordova-plugin-vibration/tests/tests.js
  function resetVibrateOn (line 143) | function resetVibrateOn() {

FILE: plugins/cordova-plugin-whitelist/src/android/WhitelistPlugin.java
  class WhitelistPlugin (line 30) | public class WhitelistPlugin extends CordovaPlugin {
    method WhitelistPlugin (line 37) | public WhitelistPlugin() {
    method WhitelistPlugin (line 40) | public WhitelistPlugin(Context context) {
    method WhitelistPlugin (line 44) | public WhitelistPlugin(XmlPullParser xmlParser) {
    method WhitelistPlugin (line 48) | public WhitelistPlugin(Whitelist allowedNavigations, Whitelist allowed...
    method pluginInitialize (line 58) | @Override
    class CustomConfigXmlParser (line 68) | private class CustomConfigXmlParser extends ConfigXmlParser {
      method handleStartTag (line 69) | @Override
      method handleEndTag (line 106) | @Override
    method shouldAllowNavigation (line 111) | @Override
    method shouldAllowRequest (line 119) | @Override
    method shouldOpenExternalUrl (line 130) | @Override
    method getAllowedNavigations (line 138) | public Whitelist getAllowedNavigations() {
    method setAllowedNavigations (line 142) | public void setAllowedNavigations(Whitelist allowedNavigations) {
    method getAllowedIntents (line 146) | public Whitelist getAllowedIntents() {
    method setAllowedIntents (line 150) | public void setAllowedIntents(Whitelist allowedIntents) {
    method getAllowedRequests (line 154) | public Whitelist getAllowedRequests() {
    method setAllowedRequests (line 158) | public void setAllowedRequests(Whitelist allowedRequests) {

FILE: plugins/cordova-plugin-zip/src/android/Zip.java
  class Zip (line 23) | public class Zip extends CordovaPlugin {
    method execute (line 27) | @Override
    method unzip (line 36) | private void unzip(final CordovaArgs args, final CallbackContext callb...
    method readInt (line 45) | private static int readInt(InputStream is) throws IOException {
    method unzipSync (line 53) | private void unzipSync(CordovaArgs args, CallbackContext callbackConte...
    method updateProgress (line 169) | private void updateProgress(CallbackContext callbackContext, ProgressE...
    method getUriForArg (line 175) | private Uri getUriForArg(String arg) {
    class ProgressEvent (line 182) | private static class ProgressEvent {
      method getLoaded (line 185) | public long getLoaded() {
      method setLoaded (line 188) | public void setLoaded(long loaded) {
      method addLoaded (line 191) | public void addLoaded(long add) {
      method getTotal (line 194) | public long getTotal() {
      method setTotal (line 197) | public void setTotal(long total) {
      method toJSONObject (line 200) | public JSONObject toJSONObject() throws JSONException {

FILE: plugins/cordova-plugin-zip/src/ios/Common.h
  type tm_unz (line 5) | typedef struct tm_unz_s
  type unz_file_info (line 15) | typedef struct unz_file_info_s
  type unz_file_info64 (line 37) | typedef struct unz_file_info64_s
  type unz_global_info (line 60) | typedef struct unz_global_info_s
  type unz_global_info64 (line 71) | typedef struct unz_global_info64

FILE: plugins/cordova-plugin-zip/src/ios/ZipPlugin.h
  function interface (line 5) | interface ZipPlugin : CDVPlugin <SSZipArchiveDelegate> {

FILE: plugins/cordova-plugin-zip/src/ios/aes/aes.h
  type aes_inf (line 71) | typedef union
  type aes_encrypt_ctx (line 76) | typedef struct
  type aes_decrypt_ctx (line 81) | typedef struct

FILE: plugins/cordova-plugin-zip/src/ios/aes/aes_via_ace.h
  function INLINE (line 335) | INLINE int has_cpuid(void)
  function INLINE (line 351) | INLINE int is_via_cpu(void)
  function INLINE (line 370) | INLINE int read_via_flags(void)
  function INLINE (line 387) | INLINE int via_rng_in(void *buf)
  function INLINE (line 399) | INLINE volatile  void via_ecb_op5(
  function INLINE (line 413) | INLINE volatile  void via_cbc_op6(
  function INLINE (line 428) | INLINE volatile  void via_cbc_op7(
  function INLINE (line 446) | INLINE volatile  void via_cfb_op6(
  function INLINE (line 461) | INLINE volatile  void via_cfb_op7(
  function INLINE (line 479) | INLINE volatile  void via_ofb_op6(
  function INLINE (line 498) | INLINE int via_ace_test(void)
  function INLINE (line 506) | INLINE int via_rng_test(void)
  function INLINE (line 514) | INLINE int read_via_rng(void *buf, int count)

FILE: plugins/cordova-plugin-zip/src/ios/aes/aeskey.c
  function AES_RETURN (line 75) | AES_RETURN aes_encrypt_key128(const unsigned char *key, aes_encrypt_ctx ...
  function AES_RETURN (line 123) | AES_RETURN aes_encrypt_key192(const unsigned char *key, aes_encrypt_ctx ...
  function AES_RETURN (line 174) | AES_RETURN aes_encrypt_key256(const unsigned char *key, aes_encrypt_ctx ...
  function AES_RETURN (line 211) | AES_RETURN aes_encrypt_key(const unsigned char *key, int key_len, aes_en...
  function AES_RETURN (line 312) | AES_RETURN aes_decrypt_key128(const unsigned char *key, aes_decrypt_ctx ...
  function AES_RETURN (line 391) | AES_RETURN aes_decrypt_key192(const unsigned char *key, aes_decrypt_ctx ...
  function AES_RETURN (line 482) | AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx ...
  function AES_RETURN (line 531) | AES_RETURN aes_decrypt_key(const unsigned char *key, int key_len, aes_de...

FILE: plugins/cordova-plugin-zip/src/ios/aes/aestab.c
  function AES_RETURN (line 187) | AES_RETURN aes_init(void)
  function uint_8t (line 211) | static uint_8t hibit(const uint_32t x)
  function uint_8t (line 221) | static uint_8t gf_inv(const uint_8t x)
  function uint_8t (line 256) | uint_8t fwd_affine(const uint_8t x)
  function uint_8t (line 262) | uint_8t inv_affine(const uint_8t x)
  function AES_RETURN (line 270) | AES_RETURN aes_init(void)

FILE: plugins/cordova-plugin-zip/src/ios/aes/brg_types.h
  type uint_8t (line 55) | typedef unsigned char uint_8t;
  type uint_16t (line 64) | typedef unsigned short uint_16t;
  type uint_32t (line 74) | typedef unsigned int uint_32t;
  type uint_32t (line 77) | typedef unsigned long uint_32t;
  type uint_64t (line 89) | typedef unsigned __int64 uint_64t;
  type uint_64t (line 93) | typedef unsigned __int64 uint_64t;
  type uint_64t (line 97) | typedef unsigned long long uint_64t;
  type uint_64t (line 101) | typedef unsigned int long long uint_64t;
  type uint_64t (line 106) | typedef unsigned int uint_64t;
  type uint_64t (line 112) | typedef unsigned long uint_64t;
  type uint_64t (line 118) | typedef unsigned long long uint_64t;
  type uint_64t (line 124) | typedef unsigned long long uint_64t;

FILE: plugins/cordova-plugin-zip/src/ios/aes/entropy.c
  function entropy_fun (line 15) | int entropy_fun(unsigned char buf[], unsigned int len)
  function entropy_fun (line 39) | int entropy_fun(unsigned char buf[], unsigned int len)

FILE: plugins/cordova-plugin-zip/src/ios/aes/fileenc.c
  function encr_data (line 52) | static void encr_data(unsigned char data[], unsigned long d_len, fcrypt_...
  function fcrypt_init (line 73) | int fcrypt_init(
  function fcrypt_encrypt (line 120) | void fcrypt_encrypt(unsigned char data[], unsigned int data_len, fcrypt_...
  function fcrypt_decrypt (line 128) | void fcrypt_decrypt(unsigned char data[], unsigned int data_len, fcrypt_...
  function fcrypt_end (line 136) | int fcrypt_end(unsigned char mac[], fcrypt_ctx cx[1])

FILE: plugins/cordova-plugin-zip/src/ios/aes/fileenc.h
  type fcrypt_ctx (line 84) | typedef struct

FILE: plugins/cordova-plugin-zip/src/ios/aes/hmac.c
  function hmac_sha_begin (line 44) | void hmac_sha_begin(hmac_ctx cx[1])
  function hmac_sha_key (line 50) | int hmac_sha_key(const unsigned char key[], unsigned long key_len, hmac_...
  function hmac_sha_data (line 74) | void hmac_sha_data(const unsigned char data[], unsigned long data_len, h...
  function hmac_sha_end (line 106) | void hmac_sha_end(unsigned char mac[], unsigned long mac_len, hmac_ctx c...
  function hmac_sha (line 132) | void hmac_sha(const unsigned char key[], unsigned long key_len,

FILE: plugins/cordova-plugin-zip/src/ios/aes/hmac.h
  type hmac_ctx (line 81) | typedef struct

FILE: plugins/cordova-plugin-zip/src/ios/aes/prng.c
  function prng_mix (line 52) | static void prng_mix(unsigned char buf[])
  function update_pool (line 81) | static void update_pool(prng_ctx ctx[1])
  function prng_init (line 100) | void prng_init(prng_entropy_fn fun, prng_ctx ctx[1])
  function prng_rand (line 122) | void prng_rand(unsigned char data[], unsigned int data_len, prng_ctx ctx...
  function prng_end (line 146) | void prng_end(prng_ctx ctx[1])

FILE: plugins/cordova-plugin-zip/src/ios/aes/prng.h
  type prng_ctx (line 62) | typedef struct

FILE: plugins/cordova-plugin-zip/src/ios/aes/pwd2key.c
  function derive_key (line 44) | void derive_key(const unsigned char pwd[],  /* the PASSWORD     */
  function main (line 165) | int main()

FILE: plugins/cordova-plugin-zip/src/ios/aes/sha1.c
  function VOID_RETURN (line 116) | VOID_RETURN sha1_compile(sha1_ctx ctx[1])
  function VOID_RETURN (line 172) | VOID_RETURN sha1_begin(sha1_ctx ctx[1])
  function VOID_RETURN (line 185) | VOID_RETURN sha1_hash(const unsigned char data[], unsigned long len, sha...
  function VOID_RETURN (line 206) | VOID_RETURN sha1_end(unsigned char hval[], sha1_ctx ctx[1])
  function VOID_RETURN (line 250) | VOID_RETURN sha1(unsigned char hval[], const unsigned char data[], unsig...

FILE: plugins/cordova-plugin-zip/src/ios/aes/sha1.h
  type sha1_ctx (line 49) | typedef struct

FILE: plugins/cordova-plugin-zip/src/ios/minizip/crypt.h
  function decrypt_byte (line 34) | static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_...
  function update_keys (line 47) | static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32...
  function init_keys (line 64) | static void init_keys(const char* passwd,unsigned long* pkeys,const unsi...
  function crypthead (line 89) | static int crypthead(const char* passwd,      /* password string */

FILE: plugins/cordova-plugin-zip/src/ios/minizip/ioapi.c
  function voidpf (line 45) | voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*...
  function call_zseek64 (line 59) | long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filest...
  function ZPOS64_T (line 70) | ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf fi...
  function fill_zlib_filefunc64_32_def_from_filefunc32 (line 81) | void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def*...
  type FILE_IOPOSIX (line 107) | typedef struct
  function voidpf (line 114) | static voidpf file_build_ioposix(FILE *file, const char *filename)
  function voidpf (line 127) | static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* file...
  function voidpf (line 146) | static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* fi...
  function voidpf (line 165) | static voidpf ZCALLBACK fopendisk64_file_func (voidpf opaque, voidpf str...
  function voidpf (line 190) | static voidpf ZCALLBACK fopendisk_file_func (voidpf opaque, voidpf strea...
  function uLong (line 215) | static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, vo...
  function uLong (line 226) | static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, c...
  function ftell_file_func (line 237) | static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
  function ZPOS64_T (line 248) | static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
  function fseek_file_func (line 259) | static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLo...
  function fseek64_file_func (line 288) | static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, Z...
  function fclose_file_func (line 320) | static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
  function ferror_file_func (line 334) | static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
  function fill_fopen_filefunc (line 345) | void fill_fopen_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
  function fill_fopen64_filefunc (line 358) | void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def)

FILE: plugins/cordova-plugin-zip/src/ios/minizip/ioapi.h
  type IT_INT_CUSTOM_TYPE (line 60) | typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
  type ZPOS64_T (line 64) | typedef uint64_t ZPOS64_T;
  type ZPOS64_T (line 67) | typedef unsigned __int64 ZPOS64_T;
  type ZPOS64_T (line 69) | typedef unsigned long long int ZPOS64_T;
  type zlib_filefunc_def (line 108) | typedef struct zlib_filefunc_def_s
  type zlib_filefunc64_def (line 126) | typedef struct zlib_filefunc64_def_s
  type zlib_filefunc64_32_def (line 143) | typedef struct zlib_filefunc64_32_def_s

FILE: plugins/cordova-plugin-zip/src/ios/minizip/mztools.c
  function unzRepair (line 31) | extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, byte...

FILE: plugins/cordova-plugin-zip/src/ios/minizip/unzip.c
  type unz_file_info64_internal (line 97) | typedef struct unz_file_info64_internal_s {
  type file_in_zip64_read_info_s (line 108) | typedef struct {
  type unz64_s (line 141) | typedef struct {
  function local (line 169) | local void unz64local_DosDateToTmuDate(ZPOS64_T ulDosDate, tm_unz *ptm)
  function local (line 192) | local int unz64local_getByte(const zlib_filefunc64_32_def *pzlib_filefun...
  function local (line 206) | local int unz64local_getShort(const zlib_filefunc64_32_def *pzlib_filefu...
  function local (line 226) | local int unz64local_getLong(const zlib_filefunc64_32_def *pzlib_filefun...
  function local (line 252) | local int unz64local_getLong64(const zlib_filefunc64_32_def *pzlib_filef...
  function local (line 291) | local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def ...
  function local (line 350) | local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_de...
  function local (line 386) | local unzFile unzOpenInternal(const void *path, zlib_filefunc64_32_def *...
  function unzFile (line 538) | extern unzFile ZEXPORT unzOpen2(const char *path, zlib_filefunc_def *pzl...
  function unzFile (line 548) | extern unzFile ZEXPORT unzOpen2_64(const void *path, zlib_filefunc64_def...
  function unzFile (line 560) | extern unzFile ZEXPORT unzOpen(const char *path)
  function unzFile (line 565) | extern unzFile ZEXPORT unzOpen64(const void *path)
  function unzClose (line 570) | extern int ZEXPORT unzClose(unzFile file)
  function local (line 593) | local int unzGoToNextDisk(unzFile file)
  function unzGetGlobalInfo (line 633) | extern int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info *pglob...
  function unzGetGlobalInfo64 (line 646) | extern int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64 *p...
  function unzGetGlobalComment (line 656) | extern int ZEXPORT unzGetGlobalComment(unzFile file, char *comment, uLon...
  function local (line 682) | local int unz64local_GetCurrentFileInfoInternal(unzFile file, unz_file_i...
  function unzGetCurrentFileInfo (line 918) | extern int ZEXPORT unzGetCurrentFileInfo(unzFile file, unz_file_info *pf...
  function unzGetCurrentFileInfo64 (line 952) | extern int ZEXPORT unzGetCurrentFileInfo64(unzFile file, unz_file_info64...
  function local (line 962) | local int unz64local_CheckCurrentFileCoherencyHeader(unz64_s *s, uInt *p...
  function unzOpenCurrentFile3 (line 1047) | extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int *method, int *l...
  function unzOpenCurrentFile (line 1238) | extern int ZEXPORT unzOpenCurrentFile(unzFile file)
  function unzOpenCurrentFilePassword (line 1243) | extern int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char *...
  function unzOpenCurrentFile2 (line 1248) | extern int ZEXPORT unzOpenCurrentFile2(unzFile file, int *method, int *l...
  function unzReadCurrentFile (line 1260) | extern int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned ...
  function ZPOS64_T (line 1485) | extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file)
  function unzGetLocalExtrafield (line 1498) | extern int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsign...
  function unzGoToFirstFile2 (line 1593) | extern int ZEXPORT unzGoToFirstFile2(unzFile file, unz_file_info64 *pfil...
  function unzGoToFirstFile (line 1611) | extern int ZEXPORT unzGoToFirstFile(unzFile file)
  function unzGoToNextFile2 (line 1616) | extern int ZEXPORT unzGoToNextFile2(unzFile file, unz_file_info64 *pfile...
  function unzGoToNextFile (line 1641) | extern int ZEXPORT unzGoToNextFile(unzFile file)
  function unzLocateFile (line 1646) | extern int ZEXPORT unzLocateFile(unzFile file, const char *filename, unz...
  function unzGetFilePos (line 1690) | extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos *file_pos)
  function unzGoToFilePos (line 1701) | extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos *file_pos)
  function unzGetFilePos64 (line 1712) | extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos *file_pos)
  function unzGoToFilePos64 (line 1728) | extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos *...
  function uLong (line 1748) | extern uLong ZEXPORT unzGetOffset(unzFile file)
  function ZPOS64_T (line 1758) | extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
  function unzSetOffset (line 1773) | extern int ZEXPORT unzSetOffset(unzFile file, uLong pos)
  function unzSetOffset64 (line 1778) | extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
  function z_off_t (line 1794) | extern z_off_t ZEXPORT unztell(unzFile file)
  function ZPOS64_T (line 1807) | extern ZPOS64_T ZEXPORT unztell64(unzFile file)
  function unzeof (line 1823) | extern int ZEXPORT unzeof(unzFile file)

FILE: plugins/cordova-plugin-zip/src/ios/minizip/unzip.h
  type unzFile__ (line 45) | typedef struct TagunzFile__ { int unused; } unzFile__;
  type unzFile__ (line 46) | typedef unzFile__ *unzFile;
  type voidp (line 48) | typedef voidp unzFile;
  type unz_file_pos (line 209) | typedef struct unz_file_pos_s
  type unz64_file_pos (line 218) | typedef struct unz64_file_pos_s

FILE: plugins/cordova-plugin-zip/src/ios/minizip/zip.c
  type linkedlist_datablock_internal (line 110) | typedef struct linkedlist_datablock_internal_s {
  type linkedlist_data (line 118) | typedef struct linkedlist_data_s {
  type curfile64_info (line 123) | typedef struct {
  type zip64_internal (line 161) | typedef struct {
  function local (line 183) | local linkedlist_datablock_internal *allocate_new_datablock()
  function local (line 199) | local void free_datablock(linkedlist_datablock_internal *ldi)
  function local (line 210) | local void init_linkedlist(linkedlist_data *ll)
  function local (line 217) | local void free_linkedlist(linkedlist_data *ll)
  function local (line 225) | local int add_data_in_datablock(linkedlist_data *ll, const void *buf, uL...
  function local (line 274) | local uLong zip64local_TmzDateToDosDate(const tm_zip *ptm)
  function local (line 310) | local int zip64local_putValue(const zlib_filefunc64_32_def *pzlib_filefu...
  function local (line 333) | local void zip64local_putValue_inmemory(void *dest, ZPOS64_T x, int nbByte)
  function local (line 351) | local int zip64local_getByte(const zlib_filefunc64_32_def *pzlib_filefun...
  function local (line 365) | local int zip64local_getShort(const zlib_filefunc64_32_def *pzlib_filefu...
  function local (line 385) | local int zip64local_getLong(const zlib_filefunc64_32_def *pzlib_filefun...
  function local (line 411) | local int zip64local_getLong64(const zlib_filefunc64_32_def *pzlib_filef...
  function local (line 451) | local int zipGetDiskSizeAvailable(zipFile file, ZPOS64_T *size_available)
  function local (line 465) | local int zipGoToSpecificDisk(zipFile file, int number_disk, int open_ex...
  function local (line 489) | local int zipGoToFirstDisk(zipFile file)
  function local (line 513) | local int zipGoToNextDisk(zipFile file)
  function local (line 547) | local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def ...
  function local (line 606) | local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_de...
  function zipFile (line 642) | extern zipFile ZEXPORT zipOpen4(const void *pathname, int append, ZPOS64...
  function zipFile (line 878) | extern zipFile ZEXPORT zipOpen2(const char *pathname, int append, zipcha...
  function zipFile (line 889) | extern zipFile ZEXPORT zipOpen2_64(const void *pathname, int append, zip...
  function zipFile (line 902) | extern zipFile ZEXPORT zipOpen3(const char *pathname, int append, ZPOS64...
  function zipFile (line 913) | extern zipFile ZEXPORT zipOpen3_64(const void *pathname, int append, ZPO...
  function zipFile (line 926) | extern zipFile ZEXPORT zipOpen(const char *pathname, int append)
  function zipFile (line 931) | extern zipFile ZEXPORT zipOpen64(const void *pathname, int append)
  function zipOpenNewFileInZip4_64 (line 936) | extern int ZEXPORT zipOpenNewFileInZip4_64(zipFile file, const char *fil...
  function zipOpenNewFileInZip4 (line 1267) | extern int ZEXPORT zipOpenNewFileInZip4(zipFile file, const char *filena...
  function zipOpenNewFileInZip3 (line 1277) | extern int ZEXPORT zipOpenNewFileInZip3(zipFile file, const char *filena...
  function zipOpenNewFileInZip3_64 (line 1287) | extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char *fil...
  function zipOpenNewFileInZip2 (line 1297) | extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char *filena...
  function zipOpenNewFileInZip2_64 (line 1306) | extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char *fil...
  function zipOpenNewFileInZip64 (line 1315) | extern int ZEXPORT zipOpenNewFileInZip64(zipFile file, const char *filen...
  function zipOpenNewFileInZip (line 1324) | extern int ZEXPORT zipOpenNewFileInZip(zipFile file, const char *filenam...
  function local (line 1335) | local int zip64FlushWriteBuffer(zip64_internal *zi)
  function zipWriteInFileInZip (line 1410) | extern int ZEXPORT zipWriteInFileInZip(zipFile file, const void *buf, un...
  function zipCloseFileInZipRaw (line 1494) | extern int ZEXPORT zipCloseFileInZipRaw(zipFile file, uLong uncompressed...
  function zipCloseFileInZipRaw64 (line 1499) | extern int ZEXPORT zipCloseFileInZipRaw64(zipFile file, ZPOS64_T uncompr...
  function zipCloseFileInZip (line 1747) | extern int ZEXPORT zipCloseFileInZip(zipFile file)
  function zipClose (line 1752) | extern int ZEXPORT zipClose(zipFile file, const char *global_comment)

FILE: plugins/cordova-plugin-zip/src/ios/minizip/zip.h
  type zipFile__ (line 41) | typedef struct TagzipFile__ { int unused; } zipFile__;
  type zipFile__ (line 42) | typedef zipFile__ *zipFile;
  type voidp (line 44) | typedef voidp zipFile;
  type tm_zip (line 64) | typedef struct tm_zip_s
  type zip_fileinfo (line 74) | typedef struct

FILE: plugins/cordova-plugin-zip/zip.js
  function newProgressEvent (line 3) | function newProgressEvent(result) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/BarcodeFormat.java
  type BarcodeFormat (line 24) | public enum BarcodeFormat {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/Binarizer.java
  class Binarizer (line 30) | public abstract class Binarizer {
    method Binarizer (line 34) | protected Binarizer(LuminanceSource source) {
    method getLuminanceSource (line 38) | public final LuminanceSource getLuminanceSource() {
    method getBlackRow (line 55) | public abstract BitArray getBlackRow(int y, BitArray row) throws NotFo...
    method getBlackMatrix (line 65) | public abstract BitMatrix getBlackMatrix() throws NotFoundException;
    method createBinarizer (line 75) | public abstract Binarizer createBinarizer(LuminanceSource source);
    method getWidth (line 77) | public final int getWidth() {
    method getHeight (line 81) | public final int getHeight() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/BinaryBitmap.java
  class BinaryBitmap (line 28) | public final class BinaryBitmap {
    method BinaryBitmap (line 33) | public BinaryBitmap(Binarizer binarizer) {
    method getWidth (line 43) | public int getWidth() {
    method getHeight (line 50) | public int getHeight() {
    method getBlackRow (line 64) | public BitArray getBlackRow(int y, BitArray row) throws NotFoundExcept...
    method getBlackMatrix (line 76) | public BitMatrix getBlackMatrix() throws NotFoundException {
    method isCropSupported (line 91) | public boolean isCropSupported() {
    method crop (line 105) | public BinaryBitmap crop(int left, int top, int width, int height) {
    method isRotateSupported (line 113) | public boolean isRotateSupported() {
    method rotateCounterClockwise (line 123) | public BinaryBitmap rotateCounterClockwise() {
    method rotateCounterClockwise45 (line 134) | public BinaryBitmap rotateCounterClockwise45() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/ChecksumException.java
  class ChecksumException (line 25) | public final class ChecksumException extends ReaderException {
    method ChecksumException (line 29) | private ChecksumException() {
    method getChecksumInstance (line 33) | public static ChecksumException getChecksumInstance() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/DecodeHintType.java
  type DecodeHintType (line 28) | public enum DecodeHintType {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/EncodeHintType.java
  type EncodeHintType (line 24) | public enum EncodeHintType {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/FakeR.java
  class FakeR (line 14) | public class FakeR {
    method FakeR (line 18) | public FakeR(Activity activity) {
    method FakeR (line 23) | public FakeR(Context context) {
    method getId (line 28) | public int getId(String group, String key) {
    method getId (line 32) | public static int getId(Context context, String group, String key) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/FormatException.java
  class FormatException (line 26) | public final class FormatException extends ReaderException {
    method FormatException (line 30) | private FormatException() {
    method getFormatInstance (line 34) | public static FormatException getFormatInstance() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/LuminanceSource.java
  class LuminanceSource (line 28) | public abstract class LuminanceSource {
    method LuminanceSource (line 33) | protected LuminanceSource(int width, int height) {
    method getRow (line 50) | public abstract byte[] getRow(int y, byte[] row);
    method getMatrix (line 60) | public abstract byte[] getMatrix();
    method getWidth (line 65) | public final int getWidth() {
    method getHeight (line 72) | public final int getHeight() {
    method isCropSupported (line 79) | public boolean isCropSupported() {
    method crop (line 93) | public LuminanceSource crop(int left, int top, int width, int height) {
    method isRotateSupported (line 100) | public boolean isRotateSupported() {
    method rotateCounterClockwise (line 110) | public LuminanceSource rotateCounterClockwise() {
    method rotateCounterClockwise45 (line 120) | public LuminanceSource rotateCounterClockwise45() {
    method toString (line 124) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/MultiFormatReader.java
  class MultiFormatReader (line 38) | public final class MultiFormatReader implements Reader {
    method decode (line 52) | @Override
    method decode (line 66) | @Override
    method decodeWithState (line 80) | public Result decodeWithState(BinaryBitmap image) throws NotFoundExcep...
    method setHints (line 95) | public void setHints(Map<DecodeHintType,?> hints) {
    method reset (line 157) | @Override
    method decodeInternal (line 166) | private Result decodeInternal(BinaryBitmap image) throws NotFoundExcep...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/MultiFormatWriter.java
  class MultiFormatWriter (line 38) | public final class MultiFormatWriter implements Writer {
    method encode (line 40) | @Override
    method encode (line 48) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/NotFoundException.java
  class NotFoundException (line 25) | public final class NotFoundException extends ReaderException {
    method NotFoundException (line 29) | private NotFoundException() {
    method getNotFoundInstance (line 33) | public static NotFoundException getNotFoundInstance() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/PlanarYUVLuminanceSource.java
  class PlanarYUVLuminanceSource (line 29) | public final class PlanarYUVLuminanceSource extends LuminanceSource {
    method PlanarYUVLuminanceSource (line 37) | public PlanarYUVLuminanceSource(byte[] yuvData,
    method getRow (line 61) | @Override
    method getMatrix (line 75) | @Override
    method isCropSupported (line 106) | @Override
    method crop (line 111) | @Override
    method renderCroppedGreyscaleBitmap (line 123) | public int[] renderCroppedGreyscaleBitmap() {
    method reverseHorizontal (line 141) | private void reverseHorizontal(int width, int height) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/RGBLuminanceSource.java
  class RGBLuminanceSource (line 26) | public final class RGBLuminanceSource extends LuminanceSource {
    method RGBLuminanceSource (line 34) | public RGBLuminanceSource(int width, int height, int[] pixels) {
    method RGBLuminanceSource (line 63) | private RGBLuminanceSource(byte[] pixels,
    method getRow (line 81) | @Override
    method getMatrix (line 95) | @Override
    method isCropSupported (line 126) | @Override
    method crop (line 131) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/Reader.java
  type Reader (line 33) | public interface Reader {
    method decode (line 42) | Result decode(BinaryBitmap image) throws NotFoundException, ChecksumEx...
    method decode (line 56) | Result decode(BinaryBitmap image, Map<DecodeHintType,?> hints)
    method reset (line 63) | void reset();

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/ReaderException.java
  class ReaderException (line 26) | public abstract class ReaderException extends Exception {
    method ReaderException (line 28) | ReaderException() {
    method fillInStackTrace (line 35) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/Result.java
  class Result (line 27) | public final class Result {
    method Result (line 36) | public Result(String text,
    method Result (line 43) | public Result(String text,
    method getText (line 59) | public String getText() {
    method getRawBytes (line 66) | public byte[] getRawBytes() {
    method getResultPoints (line 75) | public ResultPoint[] getResultPoints() {
    method getBarcodeFormat (line 82) | public BarcodeFormat getBarcodeFormat() {
    method getResultMetadata (line 91) | public Map<ResultMetadataType,Object> getResultMetadata() {
    method putMetadata (line 95) | public void putMetadata(ResultMetadataType type, Object value) {
    method putAllMetadata (line 102) | public void putAllMetadata(Map<ResultMetadataType,Object> metadata) {
    method addResultPoints (line 112) | public void addResultPoints(ResultPoint[] newPoints) {
    method getTimestamp (line 124) | public long getTimestamp() {
    method toString (line 128) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/ResultMetadataType.java
  type ResultMetadataType (line 25) | public enum ResultMetadataType {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/ResultPoint.java
  class ResultPoint (line 27) | public class ResultPoint {
    method ResultPoint (line 32) | public ResultPoint(float x, float y) {
    method getX (line 37) | public final float getX() {
    method getY (line 41) | public final float getY() {
    method equals (line 45) | @Override
    method hashCode (line 54) | @Override
    method toString (line 59) | @Override
    method orderBestPatterns (line 74) | public static void orderBestPatterns(ResultPoint[] patterns) {
    method distance (line 118) | public static float distance(ResultPoint pattern1, ResultPoint pattern...
    method crossProductZ (line 125) | private static float crossProductZ(ResultPoint pointA,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/ResultPointCallback.java
  type ResultPointCallback (line 25) | public interface ResultPointCallback {
    method foundPossibleResultPoint (line 27) | void foundPossibleResultPoint(ResultPoint point);

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/Writer.java
  type Writer (line 28) | public interface Writer {
    method encode (line 38) | BitMatrix encode(String contents, BarcodeFormat format, int width, int...
    method encode (line 49) | BitMatrix encode(String contents,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/WriterException.java
  class WriterException (line 25) | public final class WriterException extends Exception {
    method WriterException (line 27) | public WriterException() {
    method WriterException (line 30) | public WriterException(String message) {
    method WriterException (line 34) | public WriterException(Throwable cause) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/aztec/AztecDetectorResult.java
  class AztecDetectorResult (line 23) | public final class AztecDetectorResult extends DetectorResult {
    method AztecDetectorResult (line 29) | public AztecDetectorResult(BitMatrix bits,
    method getNbLayers (line 40) | public int getNbLayers() {
    method getNbDatablocks (line 44) | public int getNbDatablocks() {
    method isCompact (line 48) | public boolean isCompact() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/aztec/AztecReader.java
  class AztecReader (line 41) | public final class AztecReader implements Reader {
    method decode (line 51) | @Override
    method decode (line 56) | @Override
    method reset (line 88) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/aztec/decoder/Decoder.java
  class Decoder (line 33) | public final class Decoder {
    type Table (line 35) | private enum Table {
    method decode (line 92) | public DecoderResult decode(AztecDetectorResult detectorResult) throws...
    method getEncodedData (line 115) | private String getEncodedData(boolean[] correctedBits) throws FormatEx...
    method getTable (line 225) | private static Table getTable(char t) {
    method getCharacter (line 249) | private static String getCharacter(Table table, int code) {
    method correctBits (line 272) | private boolean[] correctBits(boolean[] rawbits) throws FormatException {
    method extractBits (line 374) | private boolean[] extractBits(BitMatrix matrix) throws FormatException {
    method removeDashedLines (line 426) | private static BitMatrix removeDashedLines(BitMatrix matrix) {
    method readCode (line 459) | private static int readCode(boolean[] rawbits, int startIndex, int len...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/aztec/detector/Detector.java
  class Detector (line 36) | public final class Detector {
    method Detector (line 46) | public Detector(BitMatrix image) {
    method detect (line 56) | public AztecDetectorResult detect() throws NotFoundException {
    method extractParameters (line 82) | private void extractParameters(Point[] bullEyeCornerPoints)
    method getMatrixCornerPoints (line 162) | private ResultPoint[] getMatrixCornerPoints(Point[] bullEyeCornerPoint...
    method correctParameterData (line 203) | private static void correctParameterData(boolean[] parameterData, bool...
    method getBullEyeCornerPoints (line 254) | private Point[] getBullEyeCornerPoints(Point pCenter) throws NotFoundE...
    method getMatrixCenter (line 330) | private Point getMatrixCenter() {
    method sampleGrid (line 393) | private BitMatrix sampleGrid(BitMatrix image,
    method getParameters (line 436) | private void getParameters(boolean[] parameterData) {
    method sampleLine (line 477) | private boolean[] sampleLine(Point p1, Point p2, int size) {
    method isWhiteOrBlackRectangle (line 501) | private boolean isWhiteOrBlackRectangle(Point p1,
    method getColor (line 542) | private int getColor(Point p1, Point p2) {
    method getFirstDifferent (line 577) | private Point getFirstDifferent(Point init, boolean color, int dx, int...
    class Point (line 602) | private static final class Point {
      method toResultPoint (line 606) | public ResultPoint toResultPoint() {
      method Point (line 610) | private Point(int x, int y) {
    method isValid (line 616) | private boolean isValid(int x, int y) {
    method distance (line 620) | private static float distance(Point a, Point b) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/BeepManager.java
  class BeepManager (line 35) | final class BeepManager {
    method BeepManager (line 48) | BeepManager(Activity activity) {
    method updatePrefs (line 55) | void updatePrefs() {
    method playBeepSoundAndVibrate (line 67) | void playBeepSoundAndVibrate() {
    method shouldBeep (line 77) | private static boolean shouldBeep(SharedPreferences prefs, Context act...
    method buildMediaPlayer (line 89) | private static MediaPlayer buildMediaPlayer(Context activity) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivity.java
  class CaptureActivity (line 89) | public final class CaptureActivity extends Activity implements SurfaceHo...
    method getViewfinderView (line 133) | ViewfinderView getViewfinderView() {
    method getHandler (line 137) | public Handler getHandler() {
    method getCameraManager (line 141) | CameraManager getCameraManager() {
    method onConfigurationChanged (line 145) | @Override
    method onCreate (line 153) | @Override
    method onResume (line 174) | @Override
    method isZXingURL (line 273) | private static boolean isZXingURL(String dataString) {
    method onPause (line 285) | @Override
    method onDestroy (line 301) | @Override
    method onKeyDown (line 307) | @Override
    method onCreateOptionsMenu (line 336) | @Override
    method onOptionsItemSelected (line 343) | @Override
    method onActivityResult (line 366) | @Override
    method decodeOrStoreSavedBitmap (line 379) | private void decodeOrStoreSavedBitmap(Bitmap bitmap, Result result) {
    method surfaceCreated (line 395) | @Override
    method surfaceDestroyed (line 406) | @Override
    method surfaceChanged (line 411) | @Override
    method handleDecode (line 422) | public void handleDecode(Result rawResult, Bitmap barcode) {
    method drawResultPoints (line 468) | private void drawResultPoints(Bitmap barcode, Result rawResult) {
    method drawLine (line 492) | private static void drawLine(Canvas canvas, Paint paint, ResultPoint a...
    method handleDecodeInternally (line 497) | private void handleDecodeInternally(Result rawResult, ResultHandler re...
    method handleDecodeExternally (line 583) | private void handleDecodeExternally(Result rawResult, ResultHandler re...
    method sendReplyMessage (line 674) | private void sendReplyMessage(int id, Object arg, long delayMS) {
    method showHelpOnFirstLaunch (line 688) | private boolean showHelpOnFirstLaunch() {
    method initCamera (line 710) | private void initCamera(SurfaceHolder surfaceHolder) {
    method displayFrameworkBugMessageAndExit (line 736) | private void displayFrameworkBugMessageAndExit() {
    method restartPreviewAfterDelay (line 745) | public void restartPreviewAfterDelay(long delayMS) {
    method resetStatusView (line 752) | private void resetStatusView() {
    method drawViewfinder (line 760) | public void drawViewfinder() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivityHandler.java
  class CaptureActivityHandler (line 44) | public final class CaptureActivityHandler extends Handler {
    type State (line 53) | private enum State {
    method CaptureActivityHandler (line 61) | CaptureActivityHandler(CaptureActivity activity,
    method handleMessage (line 78) | @Override
    method quitSynchronously (line 125) | public void quitSynchronously() {
    method restartPreviewAndDecode (line 142) | private void restartPreviewAndDecode() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/Contents.java
  class Contents (line 27) | public final class Contents {
    method Contents (line 28) | private Contents() {
    class Type (line 31) | public static final class Type {
      method Type (line 78) | private Type() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeFormatManager.java
  class DecodeFormatManager (line 29) | final class DecodeFormatManager {
    method DecodeFormatManager (line 51) | private DecodeFormatManager() {}
    method parseDecodeFormats (line 53) | static Collection<BarcodeFormat> parseDecodeFormats(Intent intent) {
    method parseDecodeFormats (line 62) | static Collection<BarcodeFormat> parseDecodeFormats(Uri inputUri) {
    method parseDecodeFormats (line 70) | private static Collection<BarcodeFormat> parseDecodeFormats(Iterable<S...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeHandler.java
  class DecodeHandler (line 38) | final class DecodeHandler extends Handler {
    method DecodeHandler (line 47) | DecodeHandler(CaptureActivity activity, Map<DecodeHintType,Object> hin...
    method handleMessage (line 54) | @Override
    method decode (line 75) | private void decode(byte[] data, int width, int height) {
    method toBitmap (line 111) | private static Bitmap toBitmap(LuminanceSource source, int[] pixels) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeThread.java
  class DecodeThread (line 39) | final class DecodeThread extends Thread {
    method DecodeThread (line 48) | DecodeThread(CaptureActivity activity,
    method getHandler (line 80) | Handler getHandler() {
    method run (line 89) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/FinishListener.java
  class FinishListener (line 27) | public final class FinishListener implements DialogInterface.OnClickList...
    method FinishListener (line 31) | public FinishListener(Activity activityToFinish) {
    method onCancel (line 35) | @Override
    method onClick (line 40) | @Override
    method run (line 45) | private void run() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/HelpActivity.java
  class HelpActivity (line 35) | public final class HelpActivity extends Activity {
    method onClick (line 53) | @Override
    method onClick (line 60) | @Override
    method onCreate (line 66) | @Override
    method onSaveInstanceState (line 100) | @Override
    method onKeyDown (line 109) | @Override
    class HelpClient (line 120) | private final class HelpClient extends WebViewClient {
      method onPageFinished (line 121) | @Override
      method shouldOverrideUrlLoading (line 127) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/HttpHelper.java
  class HttpHelper (line 37) | public final class HttpHelper {
    method HttpHelper (line 46) | private HttpHelper() {
    type ContentType (line 49) | public enum ContentType {
    method downloadViaHttp (line 63) | public static CharSequence downloadViaHttp(String uri, ContentType typ...
    method downloadViaHttp (line 74) | public static CharSequence downloadViaHttp(String uri, ContentType typ...
    method downloadViaHttp (line 90) | private static CharSequence downloadViaHttp(String uri, String content...
    method getEncoding (line 131) | private static String getEncoding(URLConnection connection) {
    method consume (line 142) | private static CharSequence consume(URLConnection connection, int maxC...
    method unredirect (line 167) | public static URI unredirect(URI uri) throws IOException {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/InactivityTimer.java
  class InactivityTimer (line 34) | final class InactivityTimer {
    method InactivityTimer (line 45) | InactivityTimer(Activity activity) {
    method onActivity (line 52) | synchronized void onActivity() {
    method onPause (line 58) | public void onPause() {
    method onResume (line 63) | public void onResume(){
    method cancel (line 68) | private synchronized  void cancel() {
    method shutdown (line 76) | void shutdown() {
    class PowerStatusReceiver (line 80) | private final class PowerStatusReceiver extends BroadcastReceiver {
      method onReceive (line 81) | @Override
    class InactivityAsyncTask (line 95) | private final class InactivityAsyncTask extends AsyncTask<Object,Objec...
      method doInBackground (line 96) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/IntentSource.java
  type IntentSource (line 19) | enum IntentSource {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/Intents.java
  class Intents (line 25) | public final class Intents {
    method Intents (line 26) | private Intents() {
    class Scan (line 29) | public static final class Scan {
      method Scan (line 156) | private Scan() {
    class History (line 160) | public static final class History {
      method History (line 164) | private History() {
    class Encode (line 168) | public static final class Encode {
      method Encode (line 202) | private Encode() {
    class SearchBookContents (line 206) | public static final class SearchBookContents {
      method SearchBookContents (line 222) | private SearchBookContents() {
    class WifiConnect (line 226) | public static final class WifiConnect {
      method WifiConnect (line 247) | private WifiConnect() {
    class Share (line 251) | public static final class Share {
      method Share (line 258) | private Share() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/LocaleManager.java
  class LocaleManager (line 34) | public final class LocaleManager {
    method LocaleManager (line 106) | private LocaleManager() {}
    method getCountryTLD (line 112) | public static String getCountryTLD(Context context) {
    method getProductSearchCountryTLD (line 120) | public static String getProductSearchCountryTLD(Context context) {
    method getBookSearchCountryTLD (line 128) | public static String getBookSearchCountryTLD(Context context) {
    method isBookSearchUrl (line 138) | public static boolean isBookSearchUrl(String url) {
    method getSystemCountry (line 142) | private static String getSystemCountry() {
    method getSystemLanguage (line 147) | private static String getSystemLanguage() {
    method getTranslatedAssetLanguage (line 160) | public static String getTranslatedAssetLanguage() {
    method doGetTLD (line 165) | private static String doGetTLD(Map<String,String> map, Context context) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/PreferencesActivity.java
  class PreferencesActivity (line 35) | public final class PreferencesActivity extends PreferenceActivity
    method onCreate (line 64) | @Override
    method onSharedPreferenceChanged (line 78) | @Override
    method disableLastCheckedPref (line 83) | private void disableLastCheckedPref() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderResultPointCallback.java
  class ViewfinderResultPointCallback (line 22) | final class ViewfinderResultPointCallback implements ResultPointCallback {
    method ViewfinderResultPointCallback (line 26) | ViewfinderResultPointCallback(ViewfinderView viewfinderView) {
    method foundPossibleResultPoint (line 30) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderView.java
  class ViewfinderView (line 41) | public final class ViewfinderView extends View {
    method ViewfinderView (line 63) | public ViewfinderView(Context context, AttributeSet attrs) {
    method setCameraManager (line 80) | public void setCameraManager(CameraManager cameraManager) {
    method onDraw (line 84) | @Override
    method drawViewfinder (line 162) | public void drawViewfinder() {
    method drawResultBitmap (line 176) | public void drawResultBitmap(Bitmap barcode) {
    method addPossibleResultPoint (line 181) | public void addPossibleResultPoint(ResultPoint point) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/book/BrowseBookListener.java
  class BrowseBookListener (line 27) | final class BrowseBookListener implements AdapterView.OnItemClickListener {
    method BrowseBookListener (line 32) | BrowseBookListener(SearchBookContentsActivity activity, List<SearchBoo...
    method onItemClick (line 37) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java
  class SearchBookContentsActivity (line 56) | public final class SearchBookContentsActivity extends Activity {
    method SearchBookContentsActivity (line 74) | public SearchBookContentsActivity() {
    method onClick (line 79) | @Override
    method onKey (line 86) | @Override
    method getISBN (line 96) | String getISBN() {
    method onCreate (line 102) | @Override
    method onResume (line 145) | @Override
    method onPause (line 151) | @Override
    method launchSearch (line 161) | private void launchSearch() {
    class NetworkTask (line 177) | private final class NetworkTask extends AsyncTask<String,Object,JSONOb...
      method doInBackground (line 179) | @Override
      method onPostExecute (line 206) | @Override
      method handleSearchResults (line 220) | private void handleSearchResults(JSONObject json) {
      method parseResult (line 248) | private SearchBookContentsResult parseResult(JSONObject json) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsAdapter.java
  class SearchBookContentsAdapter (line 35) | final class SearchBookContentsAdapter extends ArrayAdapter<SearchBookCon...
    method SearchBookContentsAdapter (line 39) | SearchBookContentsAdapter(Context context, List<SearchBookContentsResu...
    method getView (line 44) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsListItem.java
  class SearchBookContentsListItem (line 38) | public final class SearchBookContentsListItem extends LinearLayout {
    method SearchBookContentsListItem (line 43) | SearchBookContentsListItem(Context context) {
    method SearchBookContentsListItem (line 48) | public SearchBookContentsListItem(Context context, AttributeSet attrs) {
    method onFinishInflate (line 52) | @Override
    method set (line 59) | public void set(SearchBookContentsResult result) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsResult.java
  class SearchBookContentsResult (line 24) | final class SearchBookContentsResult {
    method SearchBookContentsResult (line 33) | SearchBookContentsResult(String pageId,
    method setQuery (line 43) | public static void setQuery(String query) {
    method getPageId (line 47) | public String getPageId() {
    method getPageNumber (line 51) | public String getPageNumber() {
    method getSnippet (line 55) | public String getSnippet() {
    method getValidSnippet (line 59) | public boolean getValidSnippet() {
    method getQuery (line 63) | public static String getQuery() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/AutoFocusManager.java
  class AutoFocusManager (line 33) | final class AutoFocusManager implements Camera.AutoFocusCallback {
    method AutoFocusManager (line 51) | AutoFocusManager(Context context, Camera camera) {
    method onAutoFocus (line 63) | @Override
    method start (line 71) | synchronized void start() {
    method stop (line 83) | synchronized void stop() {
    class AutoFocusTask (line 99) | private final class AutoFocusTask extends AsyncTask<Object,Object,Obje...
      method doInBackground (line 100) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java
  class CameraConfigurationManager (line 39) | final class CameraConfigurationManager {
    method CameraConfigurationManager (line 54) | CameraConfigurationManager(Context context) {
    method initFromCameraParameters (line 62) | void initFromCameraParameters(Camera camera) {
    method setDesiredCameraParameters (line 96) | void setDesiredCameraParameters(Camera camera, boolean safeMode) {
    method getCameraResolution (line 160) | Point getCameraResolution() {
    method getScreenResolution (line 164) | Point getScreenResolution() {
    method setTorch (line 168) | void setTorch(Camera camera, boolean newSetting) {
    method initializeTorch (line 181) | private void initializeTorch(Camera.Parameters parameters, SharedPrefe...
    method doSetTorch (line 186) | private void doSetTorch(Camera.Parameters parameters, boolean newSetti...
    method findBestPreviewSizeValue (line 211) | private Point findBestPreviewSizeValue(Camera.Parameters parameters, P...
    method findSettableValue (line 286) | private static String findSettableValue(Collection<String> supportedVa...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/CameraManager.java
  class CameraManager (line 40) | public final class CameraManager {
    method CameraManager (line 67) | public CameraManager(Context context) {
    method openDriver (line 80) | public synchronized void openDriver(SurfaceHolder holder) throws IOExc...
    method isOpen (line 125) | public synchronized boolean isOpen() {
    method closeDriver (line 132) | public synchronized void closeDriver() {
    method startPreview (line 146) | public synchronized void startPreview() {
    method stopPreview (line 158) | public synchronized void stopPreview() {
    method setTorch (line 173) | public synchronized void setTorch(boolean newSetting) {
    method requestPreviewFrame (line 193) | public synchronized void requestPreviewFrame(Handler handler, int mess...
    method getFramingRect (line 208) | public synchronized Rect getFramingRect() {
    method getFramingRectInPreview (line 244) | public synchronized Rect getFramingRectInPreview() {
    method setManualFramingRect (line 283) | public synchronized void setManualFramingRect(int width, int height) {
    method buildLuminanceSource (line 294) | public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int ...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/PreviewCallback.java
  class PreviewCallback (line 25) | final class PreviewCallback implements Camera.PreviewCallback {
    method PreviewCallback (line 33) | PreviewCallback(CameraConfigurationManager configManager) {
    method setHandler (line 37) | void setHandler(Handler previewHandler, int previewMessage) {
    method onPreviewFrame (line 42) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/exposure/DefaultExposureInterface.java
  class DefaultExposureInterface (line 21) | public final class DefaultExposureInterface implements ExposureInterface {
    method setExposure (line 23) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/exposure/ExposureInterface.java
  type ExposureInterface (line 26) | public interface ExposureInterface {
    method setExposure (line 28) | void setExposure(Camera.Parameters parameters, boolean lightOn);

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/exposure/ExposureManager.java
  class ExposureManager (line 21) | public final class ExposureManager extends PlatformSupportManager<Exposu...
    method ExposureManager (line 23) | public ExposureManager() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/exposure/FroyoExposureInterface.java
  class FroyoExposureInterface (line 23) | @TargetApi(8)
    method setExposure (line 31) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/open/DefaultOpenCameraInterface.java
  class DefaultOpenCameraInterface (line 24) | final class DefaultOpenCameraInterface implements OpenCameraInterface {
    method open (line 29) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/open/GingerbreadOpenCameraInterface.java
  class GingerbreadOpenCameraInterface (line 27) | @TargetApi(9)
    method open (line 35) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/open/OpenCameraInterface.java
  type OpenCameraInterface (line 25) | public interface OpenCameraInterface {
    method open (line 27) | Camera open();

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/camera/open/OpenCameraManager.java
  class OpenCameraManager (line 25) | public final class OpenCameraManager extends PlatformSupportManager<Open...
    method OpenCameraManager (line 27) | public OpenCameraManager() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/common/PlatformSupportManager.java
  class PlatformSupportManager (line 45) | public abstract class PlatformSupportManager<T> {
    method PlatformSupportManager (line 53) | protected PlatformSupportManager(Class<T> managedInterface, T defaultI...
    method addImplementationClass (line 65) | protected void addImplementationClass(int minVersion, String className) {
    method build (line 69) | public T build() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/common/executor/AsyncTaskExecInterface.java
  type AsyncTaskExecInterface (line 21) | public interface AsyncTaskExecInterface {
    method execute (line 23) | <T> void execute(AsyncTask<T,?,?> task, T... args);

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/common/executor/AsyncTaskExecManager.java
  class AsyncTaskExecManager (line 21) | public final class AsyncTaskExecManager extends PlatformSupportManager<A...
    method AsyncTaskExecManager (line 23) | public AsyncTaskExecManager() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/common/executor/DefaultAsyncTaskExecInterface.java
  class DefaultAsyncTaskExecInterface (line 25) | public final class DefaultAsyncTaskExecInterface implements AsyncTaskExe...
    method execute (line 27) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/common/executor/HoneycombAsyncTaskExecInterface.java
  class HoneycombAsyncTaskExecInterface (line 26) | @TargetApi(11)
    method execute (line 29) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/ContactEncoder.java
  class ContactEncoder (line 28) | abstract class ContactEncoder {
    method encode (line 34) | abstract String[] encode(Iterable<String> names,
    method trim (line 45) | static String trim(String s) {
    method doAppend (line 53) | static void doAppend(StringBuilder newContents,
    method doAppendUpToUnique (line 66) | static void doAppendUpToUnique(StringBuilder newContents,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/EncodeActivity.java
  class EncodeActivity (line 54) | public final class EncodeActivity extends Activity {
    method onCreate (line 65) | @Override
    method onCreateOptionsMenu (line 82) | @Override
    method onOptionsItemSelected (line 98) | @Override
    method share (line 118) | private void share() {
    method makeBarcodeFileName (line 178) | private static CharSequence makeBarcodeFileName(CharSequence contents) {
    method onResume (line 186) | @Override
    method showErrorMessage (line 231) | private void showErrorMessage(int message) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/Formatter.java
  type Formatter (line 24) | interface Formatter {
    method format (line 26) | String format(String source);

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/MECARDContactEncoder.java
  class MECARDContactEncoder (line 28) | final class MECARDContactEncoder extends ContactEncoder {
    method format (line 34) | @Override
    method encode (line 41) | @Override
    method append (line 73) | private static void append(StringBuilder newContents,
    method appendUpToUnique (line 80) | private static void appendUpToUnique(StringBuilder newContents,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/QRCodeEncoder.java
  class QRCodeEncoder (line 58) | final class QRCodeEncoder {
    method QRCodeEncoder (line 74) | QRCodeEncoder(Activity activity, Intent intent, int dimension, boolean...
    method getContents (line 87) | String getContents() {
    method getDisplayContents (line 91) | String getDisplayContents() {
    method getTitle (line 95) | String getTitle() {
    method isUseVCard (line 99) | boolean isUseVCard() {
    method encodeContentsFromZXingIntent (line 105) | private boolean encodeContentsFromZXingIntent(Intent intent) {
    method encodeContentsFromShareIntent (line 135) | private void encodeContentsFromShareIntent(Intent intent) throws Write...
    method encodeFromTextExtras (line 144) | private void encodeFromTextExtras(Intent intent) throws WriterException {
    method encodeFromStreamExtra (line 181) | private void encodeFromStreamExtra(Intent intent) throws WriterExcepti...
    method encodeQRCodeContents (line 219) | private void encodeQRCodeContents(Intent intent, String type) {
    method encodeQRCodeContents (line 299) | private void encodeQRCodeContents(AddressBookParsedResult contact) {
    method toIterable (line 316) | private static Iterable<String> toIterable(String[] values) {
    method encodeAsBitmap (line 320) | Bitmap encodeAsBitmap() throws WriterException {
    method guessAppropriateEncoding (line 354) | private static String guessAppropriateEncoding(CharSequence contents) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/encode/VCardContactEncoder.java
  class VCardContactEncoder (line 28) | final class VCardContactEncoder extends ContactEncoder {
    method format (line 33) | @Override
    method encode (line 40) | @Override
    method append (line 67) | private static void append(StringBuilder newContents,
    method appendUpToUnique (line 74) | private static void appendUpToUnique(StringBuilder newContents,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/history/DBHelper.java
  class DBHelper (line 26) | final class DBHelper extends SQLiteOpenHelper {
    method DBHelper (line 38) | DBHelper(Context context) {
    method onCreate (line 42) | @Override
    method onUpgrade (line 54) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryActivity.java
  class HistoryActivity (line 42) | public final class HistoryActivity extends ListActivity {
    method onCreate (line 50) | @Override
    method onResume (line 61) | @Override
    method reloadHistoryItems (line 67) | private void reloadHistoryItems() {
    method onListItemClick (line 78) | @Override
    method onCreateContextMenu (line 88) | @Override
    method onContextItemSelected (line 98) | @Override
    method onCreateOptionsMenu (line 106) | @Override
    method onOptionsItemSelected (line 115) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItem.java
  class HistoryItem (line 21) | public final class HistoryItem {
    method HistoryItem (line 27) | HistoryItem(Result result, String display, String details) {
    method getResult (line 33) | public Result getResult() {
    method getDisplayAndDetails (line 37) | public String getDisplayAndDetails() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItemAdapter.java
  class HistoryItemAdapter (line 33) | final class HistoryItemAdapter extends ArrayAdapter<HistoryItem> {
    method HistoryItemAdapter (line 38) | HistoryItemAdapter(Activity activity) {
    method getView (line 44) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryManager.java
  class HistoryManager (line 52) | public final class HistoryManager {
    method HistoryManager (line 75) | public HistoryManager(Activity activity) {
    method hasHistoryItems (line 79) | public boolean hasHistoryItems() {
    method buildHistoryItems (line 93) | public List<HistoryItem> buildHistoryItems() {
    method buildHistoryItem (line 116) | public HistoryItem buildHistoryItem(int number) {
    method deleteHistoryItem (line 136) | public void deleteHistoryItem(int number) {
    method addHistoryItem (line 153) | public void addHistoryItem(Result result, ResultHandler handler) {
    method addHistoryItemDetails (line 183) | public void addHistoryItemDetails(String itemID, String itemDetails) {
    method deletePrevious (line 218) | private void deletePrevious(String text) {
    method trimHistory (line 229) | public void trimHistory() {
    method buildHistory (line 268) | CharSequence buildHistory() {
    method clearHistory (line 302) | void clearHistory() {
    method saveHistory (line 313) | static Uri saveHistory(String history) {
    method massageHistoryField (line 340) | private static String massageHistoryField(String value) {
    method close (line 344) | private static void close(Cursor cursor, SQLiteDatabase database) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/pref/BSPlusPreference.java
  class BSPlusPreference (line 30) | public final class BSPlusPreference extends Preference {
    method BSPlusPreference (line 34) | public BSPlusPreference(Context context, AttributeSet attrs, int defSt...
    method BSPlusPreference (line 39) | public BSPlusPreference(Context context, AttributeSet attrs) {
    method BSPlusPreference (line 44) | public BSPlusPreference(Context context) {
    method configureClickListener (line 49) | private void configureClickListener() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/AddressBookResultHandler.java
  class AddressBookResultHandler (line 40) | public final class AddressBookResultHandler extends ResultHandler {
    method mapIndexToAction (line 61) | private int mapIndexToAction(int index) {
    method AddressBookResultHandler (line 76) | public AddressBookResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 106) | @Override
    method getButtonText (line 111) | @Override
    method handleButtonPress (line 116) | @Override
    method parseDate (line 157) | private static Date parseDate(String s) {
    method getDisplayContents (line 169) | @Override
    method getDisplayTitle (line 214) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/CalendarResultHandler.java
  class CalendarResultHandler (line 37) | public final class CalendarResultHandler extends ResultHandler {
    method CalendarResultHandler (line 43) | public CalendarResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 51) | @Override
    method getButtonText (line 56) | @Override
    method handleButtonPress (line 61) | @Override
    method addCalendarEvent (line 98) | private void addCalendarEvent(String summary,
    method getDisplayContents (line 144) | @Override
    method format (line 174) | private static String format(boolean allDay, Date date) {
    method getDisplayTitle (line 184) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java
  class EmailAddressResultHandler (line 30) | public final class EmailAddressResultHandler extends ResultHandler {
    method EmailAddressResultHandler (line 33) | public EmailAddressResultHandler(Activity activity, ParsedResult resul...
    method getButtonCount (line 41) | @Override
    method getButtonText (line 46) | @Override
    method handleButtonPress (line 51) | @Override
    method getDisplayTitle (line 69) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/GeoResultHandler.java
  class GeoResultHandler (line 30) | public final class GeoResultHandler extends ResultHandler {
    method GeoResultHandler (line 33) | public GeoResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 41) | @Override
    method getButtonText (line 46) | @Override
    method handleButtonPress (line 51) | @Override
    method getDisplayTitle (line 64) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/ISBNResultHandler.java
  class ISBNResultHandler (line 32) | public final class ISBNResultHandler extends ResultHandler {
    method ISBNResultHandler (line 35) | public ISBNResultHandler(Activity activity, ParsedResult result, Resul...
    method getButtonCount (line 52) | @Override
    method getButtonText (line 57) | @Override
    method handleButtonPress (line 62) | @Override
    method getDisplayTitle (line 81) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/ProductResultHandler.java
  class ProductResultHandler (line 32) | public final class ProductResultHandler extends ResultHandler {
    method ProductResultHandler (line 35) | public ProductResultHandler(Activity activity, ParsedResult result, Re...
    method getButtonCount (line 51) | @Override
    method getButtonText (line 56) | @Override
    method handleButtonPress (line 61) | @Override
    method getDisplayTitle (line 77) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultButtonListener.java
  class ResultButtonListener (line 28) | public final class ResultButtonListener implements Button.OnClickListener {
    method ResultButtonListener (line 32) | public ResultButtonListener(ResultHandler resultHandler, int index) {
    method onClick (line 37) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandler.java
  class ResultHandler (line 59) | public abstract class ResultHandler {
    method onClick (line 101) | @Override
    method ResultHandler (line 110) | ResultHandler(Activity activity, ParsedResult result) {
    method ResultHandler (line 114) | ResultHandler(Activity activity, ParsedResult result, Result rawResult) {
    method getResult (line 128) | public ParsedResult getResult() {
    method hasCustomProductSearch (line 132) | boolean hasCustomProductSearch() {
    method getActivity (line 136) | Activity getActivity() {
    method getButtonCount (line 145) | public abstract int getButtonCount();
    method getButtonText (line 153) | public abstract int getButtonText(int index);
    method handleButtonPress (line 161) | public abstract void handleButtonPress(int index);
    method areContentsSecure (line 169) | public boolean areContentsSecure() {
    method showGoogleShopperButton (line 178) | void showGoogleShopperButton(View.OnClickListener listener) {
    method getDisplayContents (line 189) | public CharSequence getDisplayContents() {
    method getDisplayTitle (line 199) | public abstract int getDisplayTitle();
    method getType (line 206) | public final ParsedResultType getType() {
    method addPhoneOnlyContact (line 210) | final void addPhoneOnlyContact(String[] phoneNumbers,String[] phoneTyp...
    method addEmailOnlyContact (line 214) | final void addEmailOnlyContact(String[] emails, String[] emailTypes) {
    method addContact (line 218) | final void addContact(String[] names,
    method toEmailContractType (line 289) | private static int toEmailContractType(String typeString) {
    method toPhoneContractType (line 293) | private static int toPhoneContractType(String typeString) {
    method toAddressContractType (line 297) | private static int toAddressContractType(String typeString) {
    method doToContractType (line 301) | private static int doToContractType(String typeString, String[] types,...
    method shareByEmail (line 314) | final void shareByEmail(String contents) {
    method sendEmail (line 319) | final void sendEmail(String address, String subject, String body) {
    method sendEmailFromUri (line 324) | final void sendEmailFromUri(String uri, String email, String subject, ...
    method shareBySMS (line 335) | final void shareBySMS(String contents) {
    method sendSMS (line 340) | final void sendSMS(String phoneNumber, String body) {
    method sendSMSFromUri (line 344) | final void sendSMSFromUri(String uri, String body) {
    method sendMMS (line 352) | final void sendMMS(String phoneNumber, String subject, String body) {
    method sendMMSFromUri (line 356) | final void sendMMSFromUri(String uri, String subject, String body) {
    method dialPhone (line 369) | final void dialPhone(String phoneNumber) {
    method dialPhoneFromUri (line 373) | final void dialPhoneFromUri(String uri) {
    method openMap (line 377) | final void openMap(String geoURI) {
    method searchMap (line 387) | final void searchMap(String address, CharSequence title) {
    method getDirections (line 395) | final void getDirections(double latitude, double longitude) {
    method openProductSearch (line 401) | final void openProductSearch(String upc) {
    method openBookSearch (line 407) | final void openBookSearch(String isbn) {
    method searchBookContents (line 413) | final void searchBookContents(String isbnOrUrl) {
    method openURL (line 420) | final void openURL(String url) {
    method webSearch (line 436) | final void webSearch(String query) {
    method openGoogleShopper (line 442) | final void openGoogleShopper(String query) {
    method rawLaunchIntent (line 474) | void rawLaunchIntent(Intent intent) {
    method launchIntent (line 485) | void launchIntent(Intent intent) {
    method putExtra (line 497) | private static void putExtra(Intent intent, String key, String value) {
    method parseCustomSearchURL (line 503) | private String parseCustomSearchURL() {
    method fillInCustomSearchURL (line 513) | String fillInCustomSearchURL(String text) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandlerFactory.java
  class ResultHandlerFactory (line 29) | public final class ResultHandlerFactory {
    method ResultHandlerFactory (line 30) | private ResultHandlerFactory() {
    method makeResultHandler (line 33) | public static ResultHandler makeResultHandler(CaptureActivity activity...
    method parseResult (line 61) | private static ParsedResult parseResult(Result rawResult) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/SMSResultHandler.java
  class SMSResultHandler (line 31) | public final class SMSResultHandler extends ResultHandler {
    method SMSResultHandler (line 34) | public SMSResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 42) | @Override
    method getButtonText (line 47) | @Override
    method handleButtonPress (line 52) | @Override
    method getDisplayContents (line 66) | @Override
    method getDisplayTitle (line 81) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/TelResultHandler.java
  class TelResultHandler (line 31) | public final class TelResultHandler extends ResultHandler {
    method TelResultHandler (line 34) | public TelResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 42) | @Override
    method getButtonText (line 47) | @Override
    method handleButtonPress (line 52) | @Override
    method getDisplayContents (line 72) | @Override
    method getDisplayTitle (line 79) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/TextResultHandler.java
  class TextResultHandler (line 30) | public final class TextResultHandler extends ResultHandler {
    method TextResultHandler (line 34) | public TextResultHandler(Activity activity, ParsedResult result, Resul...
    method getButtonCount (line 44) | @Override
    method getButtonText (line 49) | @Override
    method handleButtonPress (line 54) | @Override
    method getDisplayTitle (line 73) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/URIResultHandler.java
  class URIResultHandler (line 33) | public final class URIResultHandler extends ResultHandler {
    method URIResultHandler (line 42) | public URIResultHandler(Activity activity, ParsedResult result) {
    method getButtonCount (line 52) | @Override
    method getButtonText (line 60) | @Override
    method handleButtonPress (line 65) | @Override
    method getDisplayTitle (line 85) | @Override
    method areContentsSecure (line 90) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/WifiResultHandler.java
  class WifiResultHandler (line 37) | public final class WifiResultHandler extends ResultHandler {
    method WifiResultHandler (line 42) | public WifiResultHandler(CaptureActivity activity, ParsedResult result) {
    method getButtonCount (line 48) | @Override
    method getButtonText (line 54) | @Override
    method handleButtonPress (line 59) | @Override
    method getDisplayContents (line 71) | @Override
    method getDisplayTitle (line 82) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java
  class BookResultInfoRetriever (line 40) | final class BookResultInfoRetriever extends SupplementalInfoRetriever {
    method BookResultInfoRetriever (line 46) | BookResultInfoRetriever(TextView textView, String isbn, HistoryManager...
    method retrieveSupplementalInfo (line 53) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java
  class ProductResultInfoRetriever (line 33) | final class ProductResultInfoRetriever extends SupplementalInfoRetriever {
    method ProductResultInfoRetriever (line 44) | ProductResultInfoRetriever(TextView textView, String productID, Histor...
    method retrieveSupplementalInfo (line 51) | @Override
    method unescapeHTML (line 71) | private static String unescapeHTML(String raw) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java
  class SupplementalInfoRetriever (line 42) | public abstract class SupplementalInfoRetriever extends AsyncTask<Object...
    method maybeInvokeRetrieval (line 46) | public static void maybeInvokeRetrieval(TextView textView,
    method SupplementalInfoRetriever (line 69) | SupplementalInfoRetriever(TextView textView, HistoryManager historyMan...
    method doInBackground (line 76) | @Override
    method onPostExecute (line 86) | @Override
    method retrieveSupplementalInfo (line 103) | abstract void retrieveSupplementalInfo() throws IOException;
    method append (line 105) | final void append(String itemID, String source, String[] newTexts, Str...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/TitleRetriever.java
  class TitleRetriever (line 33) | final class TitleRetriever extends SupplementalInfoRetriever {
    method TitleRetriever (line 40) | TitleRetriever(TextView textView, URIParsedResult result, HistoryManag...
    method retrieveSupplementalInfo (line 45) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/URIResultInfoRetriever.java
  class URIResultInfoRetriever (line 31) | final class URIResultInfoRetriever extends SupplementalInfoRetriever {
    method URIResultInfoRetriever (line 38) | URIResultInfoRetriever(TextView textView, URIParsedResult result, Hist...
    method retrieveSupplementalInfo (line 44) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/share/AppPickerActivity.java
  class AppPickerActivity (line 31) | public final class AppPickerActivity extends ListActivity {
    method AppPickerActivity (line 37) | public AppPickerActivity() {
    method onResume (line 42) | @Override
    method onPause (line 50) | @Override
    method onListItemClick (line 60) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkAdapter.java
  class BookmarkAdapter (line 39) | final class BookmarkAdapter extends BaseAdapter {
    method BookmarkAdapter (line 44) | BookmarkAdapter(Context context, Cursor cursor) {
    method getCount (line 50) | @Override
    method getItem (line 55) | @Override
    method getItemId (line 61) | @Override
    method getView (line 66) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkPickerActivity.java
  class BookmarkPickerActivity (line 34) | public final class BookmarkPickerActivity extends ListActivity {
    method onCreate (line 51) | @Override
    method onListItemClick (line 66) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/share/LoadPackagesAsyncTask.java
  class LoadPackagesAsyncTask (line 36) | final class LoadPackagesAsyncTask extends AsyncTask<List<String[]>,Objec...
    method LoadPackagesAsyncTask (line 50) | LoadPackagesAsyncTask(AppPickerActivity activity) {
    method doInBackground (line 54) | @Override
    method isHidden (line 72) | private static boolean isHidden(String packageName) {
    method onPostExecute (line 89) | @Override
    class ByFirstStringComparator (line 100) | private static class ByFirstStringComparator implements Comparator<Str...
      method compare (line 101) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/share/ShareActivity.java
  class ShareActivity (line 47) | public final class ShareActivity extends Activity {
    method onClick (line 60) | @Override
    method onClick (line 69) | @Override
    method onClick (line 79) | @Override
    method onClick (line 89) | @Override
    method onKey (line 100) | @Override
    method launchSearch (line 113) | private void launchSearch(String text) {
    method onCreate (line 122) | @Override
    method onResume (line 136) | @Override
    method onActivityResult (line 143) | @Override
    method showTextAsBarcode (line 159) | private void showTextAsBarcode(String text) {
    method showContactAsBarcode (line 178) | private void showContactAsBarcode(Uri contactUri) {
    method massageContactData (line 292) | private static String massageContactData(String data) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/wifi/NetworkType.java
  type NetworkType (line 19) | enum NetworkType {
    method forIntentValue (line 25) | static NetworkType forIntentValue(String networkTypeString) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/android/wifi/WifiConfigManager.java
  class WifiConfigManager (line 33) | public final class WifiConfigManager extends AsyncTask<WifiParsedResult,...
    method WifiConfigManager (line 41) | public WifiConfigManager(WifiManager wifiManager) {
    method doInBackground (line 45) | @Override
    method updateNetwork (line 101) | private static void updateNetwork(WifiManager wifiManager, WifiConfigu...
    method changeNetworkCommon (line 122) | private static WifiConfiguration changeNetworkCommon(WifiParsedResult ...
    method changeNetworkWEP (line 136) | private static void changeNetworkWEP(WifiManager wifiManager, WifiPars...
    method changeNetworkWPA (line 150) | private static void changeNetworkWPA(WifiManager wifiManager, WifiPars...
    method changeNetworkUnEncrypted (line 167) | private static void changeNetworkUnEncrypted(WifiManager wifiManager, ...
    method findNetworkInExistingConfig (line 173) | private static Integer findNetworkInExistingConfig(WifiManager wifiMan...
    method quoteNonHex (line 183) | private static String quoteNonHex(String value, int... allowedLengths) {
    method convertToQuotedString (line 193) | private static String convertToQuotedString(String string) {
    method isHexOfLength (line 210) | private static boolean isHexOfLength(CharSequence value, int... allowe...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java
  class AbstractDoCoMoResultParser (line 29) | abstract class AbstractDoCoMoResultParser extends ResultParser {
    method matchDoCoMoPrefixedField (line 31) | static String[] matchDoCoMoPrefixedField(String prefix, String rawText...
    method matchSingleDoCoMoPrefixedField (line 35) | static String matchSingleDoCoMoPrefixedField(String prefix, String raw...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/AddressBookAUResultParser.java
  class AddressBookAUResultParser (line 32) | public final class AddressBookAUResultParser extends ResultParser {
    method parse (line 34) | @Override
    method matchMultipleValuePrefix (line 68) | private static String[] matchMultipleValuePrefix(String prefix,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java
  class AddressBookDoCoMoResultParser (line 36) | public final class AddressBookDoCoMoResultParser extends AbstractDoCoMoR...
    method parse (line 38) | @Override
    method parseName (line 81) | private static String parseName(String name) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/AddressBookParsedResult.java
  class AddressBookParsedResult (line 22) | public final class AddressBookParsedResult extends ParsedResult {
    method AddressBookParsedResult (line 39) | public AddressBookParsedResult(String[] names,
    method getNames (line 70) | public String[] getNames() {
    method getPronunciation (line 80) | public String getPronunciation() {
    method getPhoneNumbers (line 84) | public String[] getPhoneNumbers() {
    method getPhoneTypes (line 92) | public String[] getPhoneTypes() {
    method getEmails (line 96) | public String[] getEmails() {
    method getEmailTypes (line 104) | public String[] getEmailTypes() {
    method getInstantMessenger (line 108) | public String getInstantMessenger() {
    method getNote (line 112) | public String getNote() {
    method getAddresses (line 116) | public String[] getAddresses() {
    method getAddressTypes (line 124) | public String[] getAddressTypes() {
    method getTitle (line 128) | public String getTitle() {
    method getOrg (line 132) | public String getOrg() {
    method getURL (line 136) | public String getURL() {
    method getBirthday (line 143) | public String getBirthday() {
    method getDisplayResult (line 147) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/BizcardResultParser.java
  class BizcardResultParser (line 31) | public final class BizcardResultParser extends AbstractDoCoMoResultParser {
    method parse (line 37) | @Override
    method buildPhoneNumbers (line 70) | private static String[] buildPhoneNumbers(String number1,
    method buildName (line 90) | private static String buildName(String firstName, String lastName) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java
  class BookmarkDoCoMoResultParser (line 24) | public final class BookmarkDoCoMoResultParser extends AbstractDoCoMoResu...
    method parse (line 26) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/CalendarParsedResult.java
  class CalendarParsedResult (line 32) | public final class CalendarParsedResult extends ParsedResult {
    method CalendarParsedResult (line 57) | public CalendarParsedResult(String summary,
    method getSummary (line 84) | public String getSummary() {
    method getStart (line 91) | public Date getStart() {
    method isStartAllDay (line 98) | public boolean isStartAllDay() {
    method getEnd (line 106) | public Date getEnd() {
    method isEndAllDay (line 113) | public boolean isEndAllDay() {
    method getLocation (line 117) | public String getLocation() {
    method getOrganizer (line 121) | public String getOrganizer() {
    method getAttendees (line 125) | public String[] getAttendees() {
    method getDescription (line 129) | public String getDescription() {
    method getLatitude (line 133) | public double getLatitude() {
    method getLongitude (line 137) | public double getLongitude() {
    method getDisplayResult (line 141) | @Override
    method parseDate (line 161) | private static Date parseDate(String when) throws ParseException {
    method format (line 189) | private static String format(boolean allDay, Date date) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/EmailAddressParsedResult.java
  class EmailAddressParsedResult (line 22) | public final class EmailAddressParsedResult extends ParsedResult {
    method EmailAddressParsedResult (line 29) | EmailAddressParsedResult(String emailAddress,
    method getEmailAddress (line 40) | public String getEmailAddress() {
    method getSubject (line 44) | public String getSubject() {
    method getBody (line 48) | public String getBody() {
    method getMailtoURI (line 52) | public String getMailtoURI() {
    method getDisplayResult (line 56) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/EmailAddressResultParser.java
  class EmailAddressResultParser (line 29) | public final class EmailAddressResultParser extends ResultParser {
    method parse (line 31) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java
  class EmailDoCoMoResultParser (line 30) | public final class EmailDoCoMoResultParser extends AbstractDoCoMoResultP...
    method parse (line 34) | @Override
    method isBasicallyValidEmailAddress (line 59) | static boolean isBasicallyValidEmailAddress(String email) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ExpandedProductParsedResult.java
  class ExpandedProductParsedResult (line 35) | public final class ExpandedProductParsedResult extends ParsedResult {
    method ExpandedProductParsedResult (line 56) | public ExpandedProductParsedResult(String productID,
    method equals (line 87) | @Override
    method equalsOrNull (line 110) | private static boolean equalsOrNull(Object o1, Object o2) {
    method hashCode (line 114) | @Override
    method hashNotNull (line 133) | private static int hashNotNull(Object o) {
    method getProductID (line 137) | public String getProductID() {
    method getSscc (line 141) | public String getSscc() {
    method getLotNumber (line 145) | public String getLotNumber() {
    method getProductionDate (line 149) | public String getProductionDate() {
    method getPackagingDate (line 153) | public String getPackagingDate() {
    method getBestBeforeDate (line 157) | public String getBestBeforeDate() {
    method getExpirationDate (line 161) | public String getExpirationDate() {
    method getWeight (line 165) | public String getWeight() {
    method getWeightType (line 169) | public String getWeightType() {
    method getWeightIncrement (line 173) | public String getWeightIncrement() {
    method getPrice (line 177) | public String getPrice() {
    method getPriceIncrement (line 181) | public String getPriceIncrement() {
    method getPriceCurrency (line 185) | public String getPriceCurrency() {
    method getUncommonAIs (line 189) | public Map<String,String> getUncommonAIs() {
    method getDisplayResult (line 193) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ExpandedProductResultParser.java
  class ExpandedProductResultParser (line 41) | public final class ExpandedProductResultParser extends ResultParser {
    method parse (line 43) | @Override
    method findAIvalue (line 152) | private static String findAIvalue(int i, String rawText) {
    method findValue (line 175) | private static String findValue(int i, String rawText) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/GeoParsedResult.java
  class GeoParsedResult (line 22) | public final class GeoParsedResult extends ParsedResult {
    method GeoParsedResult (line 29) | GeoParsedResult(double latitude, double longitude, double altitude, St...
    method getGeoURI (line 37) | public String getGeoURI() {
    method getLatitude (line 57) | public double getLatitude() {
    method getLongitude (line 64) | public double getLongitude() {
    method getAltitude (line 71) | public double getAltitude() {
    method getQuery (line 78) | public String getQuery() {
    method getDisplayResult (line 82) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/GeoResultParser.java
  class GeoResultParser (line 32) | public final class GeoResultParser extends ResultParser {
    method parse (line 37) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ISBNParsedResult.java
  class ISBNParsedResult (line 22) | public final class ISBNParsedResult extends ParsedResult {
    method ISBNParsedResult (line 26) | ISBNParsedResult(String isbn) {
    method getISBN (line 31) | public String getISBN() {
    method getDisplayResult (line 35) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ISBNResultParser.java
  class ISBNResultParser (line 27) | public final class ISBNResultParser extends ResultParser {
    method parse (line 32) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ParsedResult.java
  class ParsedResult (line 32) | public abstract class ParsedResult {
    method ParsedResult (line 36) | protected ParsedResult(ParsedResultType type) {
    method getType (line 40) | public final ParsedResultType getType() {
    method getDisplayResult (line 44) | public abstract String getDisplayResult();
    method toString (line 46) | @Override
    method maybeAppend (line 51) | public static void maybeAppend(String value, StringBuilder result) {
    method maybeAppend (line 61) | public static void maybeAppend(String[] value, StringBuilder result) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ParsedResultType.java
  type ParsedResultType (line 25) | public enum ParsedResultType {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ProductParsedResult.java
  class ProductParsedResult (line 22) | public final class ProductParsedResult extends ParsedResult {
    method ProductParsedResult (line 27) | ProductParsedResult(String productID) {
    method ProductParsedResult (line 31) | ProductParsedResult(String productID, String normalizedProductID) {
    method getProductID (line 37) | public String getProductID() {
    method getNormalizedProductID (line 41) | public String getNormalizedProductID() {
    method getDisplayResult (line 45) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ProductResultParser.java
  class ProductResultParser (line 28) | public final class ProductResultParser extends ResultParser {
    method parse (line 31) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/ResultParser.java
  class ResultParser (line 40) | public abstract class ResultParser {
    method parse (line 75) | public abstract ParsedResult parse(Result theResult);
    method getMassagedText (line 77) | protected static String getMassagedText(Result result) {
    method parseResult (line 85) | public static ParsedResult parseResult(Result theResult) {
    method maybeAppend (line 95) | protected static void maybeAppend(String value, StringBuilder result) {
    method maybeAppend (line 102) | protected static void maybeAppend(String[] value, StringBuilder result) {
    method maybeWrap (line 111) | protected static String[] maybeWrap(String value) {
    method unescapeBackslash (line 115) | protected static String unescapeBackslash(String escaped) {
    method parseHexDigit (line 136) | protected static int parseHexDigit(char c) {
    method isStringOfDigits (line 149) | protected static boolean isStringOfDigits(CharSequence value, int leng...
    method isSubstringOfDigits (line 153) | protected static boolean isSubstringOfDigits(CharSequence value, int o...
    method isSubstringOfAlphaNumeric (line 161) | protected static boolean isSubstringOfAlphaNumeric(CharSequence value,...
    method parseNameValuePairs (line 169) | static Map<String,String> parseNameValuePairs(String uri) {
    method appendKeyValue (line 181) | private static void appendKeyValue(CharSequence keyValue, Map<String,S...
    method matchPrefixedField (line 197) | static String[] matchPrefixedField(String prefix, String rawText, char...
    method matchSinglePrefixedField (line 239) | static String matchSinglePrefixedField(String prefix, String rawText, ...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/SMSMMSResultParser.java
  class SMSMMSResultParser (line 41) | public final class SMSMMSResultParser extends ResultParser {
    method parse (line 43) | @Override
    method addNumberVia (line 89) | private static void addNumberVia(Collection<String> numbers,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/SMSParsedResult.java
  class SMSParsedResult (line 22) | public final class SMSParsedResult extends ParsedResult {
    method SMSParsedResult (line 29) | public SMSParsedResult(String number,
    method SMSParsedResult (line 40) | public SMSParsedResult(String[] numbers,
    method getSMSURI (line 51) | public String getSMSURI() {
    method getNumbers (line 86) | public String[] getNumbers() {
    method getVias (line 90) | public String[] getVias() {
    method getSubject (line 94) | public String getSubject() {
    method getBody (line 98) | public String getBody() {
    method getDisplayResult (line 102) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java
  class SMSTOMMSTOResultParser (line 31) | public final class SMSTOMMSTOResultParser extends ResultParser {
    method parse (line 33) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/SMTPResultParser.java
  class SMTPResultParser (line 29) | public final class SMTPResultParser extends ResultParser {
    method parse (line 31) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/TelParsedResult.java
  class TelParsedResult (line 22) | public final class TelParsedResult extends ParsedResult {
    method TelParsedResult (line 28) | public TelParsedResult(String number, String telURI, String title) {
    method getNumber (line 35) | public String getNumber() {
    method getTelURI (line 39) | public String getTelURI() {
    method getTitle (line 43) | public String getTitle() {
    method getDisplayResult (line 47) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/TelResultParser.java
  class TelResultParser (line 26) | public final class TelResultParser extends ResultParser {
    method parse (line 28) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/TextParsedResult.java
  class TextParsedResult (line 25) | public final class TextParsedResult extends ParsedResult {
    method TextParsedResult (line 30) | public TextParsedResult(String text, String language) {
    method getText (line 36) | public String getText() {
    method getLanguage (line 40) | public String getLanguage() {
    method getDisplayResult (line 44) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/URIParsedResult.java
  class URIParsedResult (line 24) | public final class URIParsedResult extends ParsedResult {
    method URIParsedResult (line 31) | public URIParsedResult(String uri, String title) {
    method getURI (line 37) | public String getURI() {
    method getTitle (line 41) | public String getTitle() {
    method isPossiblyMaliciousURI (line 53) | public boolean isPossiblyMaliciousURI() {
    method getDisplayResult (line 57) | @Override
    method massageURI (line 69) | private static String massageURI(String uri) {
    method isColonFollowedByPortNumber (line 82) | private static boolean isColonFollowedByPortNumber(String uri, int pro...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/URIResultParser.java
  class URIResultParser (line 29) | public final class URIResultParser extends ResultParser {
    method parse (line 38) | @Override
    method isBasicallyValidURI (line 50) | static boolean isBasicallyValidURI(CharSequence uri) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/URLTOResultParser.java
  class URLTOResultParser (line 28) | public final class URLTOResultParser extends ResultParser {
    method parse (line 30) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/VCardResultParser.java
  class VCardResultParser (line 35) | public final class VCardResultParser extends ResultParser {
    method parse (line 46) | @Override
    method matchVCardPrefixedField (line 90) | static List<List<String>> matchVCardPrefixedField(CharSequence prefix,
    method decodeQuotedPrintable (line 197) | private static String decodeQuotedPrintable(CharSequence value, String...
    method maybeAppendFragment (line 230) | private static void maybeAppendFragment(ByteArrayOutputStream fragment...
    method matchSingleVCardPrefixedField (line 251) | static List<String> matchSingleVCardPrefixedField(CharSequence prefix,
    method toPrimaryValue (line 259) | private static String toPrimaryValue(List<String> list) {
    method toPrimaryValues (line 263) | private static String[] toPrimaryValues(Collection<List<String>> lists) {
    method toTypes (line 274) | private static String[] toTypes(Collection<List<String>> lists) {
    method isLikeVCardDate (line 299) | private static boolean isLikeVCardDate(CharSequence value) {
    method formatNames (line 309) | private static void formatNames(Iterable<List<String>> names) {
    method maybeAppendComponent (line 334) | private static void maybeAppendComponent(String[] components, int i, S...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/VEventResultParser.java
  class VEventResultParser (line 29) | public final class VEventResultParser extends ResultParser {
    method parse (line 31) | @Override
    method matchSingleVCardPrefixedField (line 87) | private static String matchSingleVCardPrefixedField(CharSequence prefix,
    method matchVCardPrefixedField (line 94) | private static String[] matchVCardPrefixedField(CharSequence prefix, S...
    method stripMailto (line 107) | private static String stripMailto(String s) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/WifiParsedResult.java
  class WifiParsedResult (line 22) | public final class WifiParsedResult extends ParsedResult {
    method WifiParsedResult (line 29) | public WifiParsedResult(String networkEncryption, String ssid, String ...
    method WifiParsedResult (line 33) | public WifiParsedResult(String networkEncryption, String ssid, String ...
    method getSsid (line 41) | public String getSsid() {
    method getNetworkEncryption (line 45) | public String getNetworkEncryption() {
    method getPassword (line 49) | public String getPassword() {
    method isHidden (line 53) | public boolean isHidden() {
    method getDisplayResult (line 57) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/client/result/WifiResultParser.java
  class WifiResultParser (line 31) | public final class WifiResultParser extends ResultParser {
    method parse (line 33) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/BitArray.java
  class BitArray (line 24) | public final class BitArray {
    method BitArray (line 29) | public BitArray() {
    method BitArray (line 34) | public BitArray(int size) {
    method getSize (line 39) | public int getSize() {
    method getSizeInBytes (line 43) | public int getSizeInBytes() {
    method ensureCapacity (line 47) | private void ensureCapacity(int size) {
    method get (line 59) | public boolean get(int i) {
    method set (line 68) | public void set(int i) {
    method flip (line 77) | public void flip(int i) {
    method getNextSet (line 87) | public int getNextSet(int from) {
    method getNextUnset (line 108) | public int getNextUnset(int from) {
    method setBulk (line 133) | public void setBulk(int i, int newBits) {
    method setRange (line 143) | public void setRange(int start, int end) {
    method clear (line 172) | public void clear() {
    method isRange (line 188) | public boolean isRange(int start, int end, boolean value) {
    method appendBit (line 220) | public void appendBit(boolean bit) {
    method appendBits (line 233) | public void appendBits(int value, int numBits) {
    method appendBitArray (line 243) | public void appendBitArray(BitArray other) {
    method xor (line 251) | public void xor(BitArray other) {
    method toBytes (line 270) | public void toBytes(int bitOffset, byte[] array, int offset, int numBy...
    method getBitArray (line 287) | public int[] getBitArray() {
    method reverse (line 294) | public void reverse() {
    method makeArray (line 305) | private static int[] makeArray(int size) {
    method toString (line 309) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/BitMatrix.java
  class BitMatrix (line 34) | public final class BitMatrix {
    method BitMatrix (line 42) | public BitMatrix(int dimension) {
    method BitMatrix (line 46) | public BitMatrix(int width, int height) {
    method get (line 63) | public boolean get(int x, int y) {
    method set (line 74) | public void set(int x, int y) {
    method flip (line 85) | public void flip(int x, int y) {
    method clear (line 93) | public void clear() {
    method setRegion (line 108) | public void setRegion(int left, int top, int width, int height) {
    method getRow (line 136) | public BitArray getRow(int y, BitArray row) {
    method setRow (line 151) | public void setRow(int y, BitArray row) {
    method getEnclosingRectangle (line 160) | public int[] getEnclosingRectangle() {
    method getTopLeftOnBit (line 213) | public int[] getTopLeftOnBit() {
    method getBottomRightOnBit (line 233) | public int[] getBottomRightOnBit() {
    method getWidth (line 258) | public int getWidth() {
    method getHeight (line 265) | public int getHeight() {
    method equals (line 269) | @Override
    method hashCode (line 287) | @Override
    method toString (line 299) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/BitSource.java
  class BitSource (line 28) | public final class BitSource {
    method BitSource (line 38) | public BitSource(byte[] bytes) {
    method getBitOffset (line 45) | public int getBitOffset() {
    method getByteOffset (line 52) | public int getByteOffset() {
    method readBits (line 62) | public int readBits(int numBits) {
    method available (line 107) | public int available() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/CharacterSetECI.java
  type CharacterSetECI (line 30) | public enum CharacterSetECI {
    method CharacterSetECI (line 78) | CharacterSetECI(int value) {
    method CharacterSetECI (line 82) | CharacterSetECI(int value, String... otherEncodingNames) {
    method CharacterSetECI (line 87) | CharacterSetECI(int[] values, String... otherEncodingNames) {
    method getValue (line 92) | public int getValue() {
    method getCharacterSetECIByValue (line 102) | public static CharacterSetECI getCharacterSetECIByValue(int value) thr...
    method getCharacterSetECIByName (line 114) | public static CharacterSetECI getCharacterSetECIByName(String name) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/DecoderResult.java
  class DecoderResult (line 28) | public final class DecoderResult {
    method DecoderResult (line 35) | public DecoderResult(byte[] rawBytes,
    method getRawBytes (line 45) | public byte[] getRawBytes() {
    method getText (line 49) | public String getText() {
    method getByteSegments (line 53) | public List<byte[]> getByteSegments() {
    method getECLevel (line 57) | public String getECLevel() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/DefaultGridSampler.java
  class DefaultGridSampler (line 24) | public final class DefaultGridSampler extends GridSampler {
    method sampleGrid (line 26) | @Override
    method sampleGrid (line 46) | @Override

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/DetectorResult.java
  class DetectorResult (line 28) | public class DetectorResult {
    method DetectorResult (line 33) | public DetectorResult(BitMatrix bits, ResultPoint[] points) {
    method getBits (line 38) | public final BitMatrix getBits() {
    method getPoints (line 42) | public final ResultPoint[] getPoints() {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/GlobalHistogramBinarizer.java
  class GlobalHistogramBinarizer (line 34) | public class GlobalHistogramBinarizer extends Binarizer {
    method GlobalHistogramBinarizer (line 44) | public GlobalHistogramBinarizer(LuminanceSource source) {
    method getBlackRow (line 51) | @Override
    method getBlackMatrix (line 86) | @Override
    method createBinarizer (line 125) | @Override
    method initArrays (line 130) | private void initArrays(int luminanceSize) {
    method estimateBlackPoint (line 139) | private static int estimateBlackPoint(int[] buckets) throws NotFoundEx...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/GridSampler.java
  class GridSampler (line 34) | public abstract class GridSampler {
    method setGridSampler (line 47) | public static void setGridSampler(GridSampler newGridSampler) {
    method getInstance (line 54) | public static GridSampler getInstance() {
    method sampleGrid (line 68) | public abstract BitMatrix sampleGrid(BitMatrix image,
    method sampleGrid (line 80) | public abstract BitMatrix sampleGrid(BitMatrix image,
    method checkAndNudgePoints (line 100) | protected static void checkAndNudgePoints(BitMatrix image,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/HybridBinarizer.java
  class HybridBinarizer (line 40) | public final class HybridBinarizer extends GlobalHistogramBinarizer {
    method HybridBinarizer (line 52) | public HybridBinarizer(LuminanceSource source) {
    method getBlackMatrix (line 61) | @Override
    method createBinarizer (line 91) | @Override
    method calculateThresholdForBlock (line 101) | private static void calculateThresholdForBlock(byte[] luminances,
    method cap (line 133) | private static int cap(int value, int min, int max) {
    method thresholdBlock (line 140) | private static void thresholdBlock(byte[] luminances,
    method calculateBlackPoints (line 161) | private static int[][] calculateBlackPoints(byte[] luminances,

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/PerspectiveTransform.java
  class PerspectiveTransform (line 26) | public final class PerspectiveTransform {
    method PerspectiveTransform (line 38) | private PerspectiveTransform(float a11, float a21, float a31,
    method quadrilateralToQuadrilateral (line 52) | public static PerspectiveTransform quadrilateralToQuadrilateral(float ...
    method transformPoints (line 66) | public void transformPoints(float[] points) {
    method transformPoints (line 87) | public void transformPoints(float[] xValues, float[] yValues) {
    method squareToQuadrilateral (line 98) | public static PerspectiveTransform squareToQuadrilateral(float x0, flo...
    method quadrilateralToSquare (line 123) | public static PerspectiveTransform quadrilateralToSquare(float x0, flo...
    method buildAdjoint (line 131) | PerspectiveTransform buildAdjoint() {
    method times (line 144) | PerspectiveTransform times(PerspectiveTransform other) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/StringUtils.java
  class StringUtils (line 29) | public final class StringUtils {
    method StringUtils (line 42) | private StringUtils() {}
    method guessEncoding (line 51) | public static String guessEncoding(byte[] bytes, Map<DecodeHintType,?>...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/detector/MathUtils.java
  class MathUtils (line 19) | public final class MathUtils {
    method MathUtils (line 21) | private MathUtils() {
    method round (line 28) | public static int round(float d) {
    method distance (line 32) | public static float distance(float aX, float aY, float bX, float bY) {
    method distance (line 38) | public static float distance(int aX, int aY, int bX, int bY) {

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java
  class MonochromeRectangleDetector (line 30) | public final class MonochromeRectangleDetector {
    method MonochromeRectangleDetector (line 36) | public MonochromeRectangleDetector(BitMatrix image) {
    method detect (line 50) | public ResultPoint[] detect() throws NotFoundException {
    method findCornerFromCenter (line 100) | private ResultPoint findCornerFromCenter(int centerX,
    method blackWhiteRange (line 168) | private int[] blackWhiteRange(int fixedDimension, int maxWhiteRun, int...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/zxing/common/detector/WhiteRectangleDetector.java
  class WhiteRectangleDetector (line 33) | public final class WhiteRectangleDetector {
    method WhiteRectangleDetector (line 49) | public WhiteRectangleDetector(BitMatrix image) throws NotFoundException {
    method WhiteRectangleDetector (line 65) | public WhiteRectangleDetector(BitMatrix image, int initSize, int x, in...
    method detect (line 93) | public ResultPoint[] detect() throws NotFoundException {
    method getBlackPointOnSegment (line 243) | private ResultPoint getBlackPointOnSegment(float aX, float aY, float b...
    method centerEdges (line 271) | private ResultPoint[] centerEdges(ResultPoint y, ResultPoint z,
    method containsBlackPoint (line 314) | private boolean containsBlackPoint(int a, int b, int fixed, boolean ho...

FILE: plugins/phonegap-plugin-barcodescanner/src/android/LibraryProject/src/com/google/
Condensed preview — 1101 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,973K chars).
[
  {
    "path": ".gitignore",
    "chars": 528,
    "preview": "# Logs\nlogs\n*.log\n\nwww/*\nplatforms/ios/www/*\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs genera"
  },
  {
    "path": "LICENSE",
    "chars": 1077,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Thinkmill\n\nPermission is hereby granted, free of charge, to any person obtaini"
  },
  {
    "path": "README.md",
    "chars": 670,
    "preview": "# ReactEU Mobile App\n\nReactEurope Mobile App, built with [TouchstoneJS](http://touchstonejs.io)\n\nFull Instructions and d"
  },
  {
    "path": "config.xml",
    "chars": 2266,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<widget id=\"com.thinkmill.react-europe\" version=\"1.0.2\" xmlns=\"http://www.w3.org/"
  },
  {
    "path": "gulpfile.js",
    "chars": 170,
    "preview": "/**\n * Gulp tasks are added by the touchstonejs-tasks package\n * See https://github.com/JedWatson/touchstonejs-tasks\n */"
  },
  {
    "path": "package.json",
    "chars": 1046,
    "preview": "{\n  \"name\": \"react-europe\",\n  \"version\": \"1.0.2\",\n  \"description\": \"ReactEurope Conference\",\n  \"private\": true,\n  \"main\""
  },
  {
    "path": "plugins/android.json",
    "chars": 1761,
    "preview": "{\n    \"prepare_queue\": {\n        \"installed\": [],\n        \"uninstalled\": []\n    },\n    \"config_munge\": {\n        \"files\""
  },
  {
    "path": "plugins/code-push/README.md",
    "chars": 5961,
    "preview": "# CodePush Management SDK (Node.js)\n\nA JavaScript library for programmatically managing your CodePush account (e.g. crea"
  },
  {
    "path": "plugins/code-push/package.json",
    "chars": 548,
    "preview": "{\n  \"name\": \"code-push\",\n  \"version\": \"1.9.2-beta\",\n  \"description\": \"Management SDK for the CodePush service\",\n  \"main\""
  },
  {
    "path": "plugins/code-push/plugin.xml",
    "chars": 500,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<plugin xmlns=\"http://apache.org/cordova/ns/plugins/1.0\" id=\"code-push\" version="
  },
  {
    "path": "plugins/code-push/script/acquisition-sdk.js",
    "chars": 6771,
    "preview": "/// <reference path=\"../definitions/harness.d.ts\" />\nvar AcquisitionStatus = (function () {\n    function AcquisitionStat"
  },
  {
    "path": "plugins/code-push/script/index.js",
    "chars": 83,
    "preview": "var AccountManager = require(\"./management-sdk\");\nmodule.exports = AccountManager;\n"
  },
  {
    "path": "plugins/code-push/script/management-sdk.js",
    "chars": 16113,
    "preview": "var os = require(\"os\");\nvar Q = require(\"q\");\nvar superagent = require(\"superagent\");\nvar Promise = Q.Promise;\nvar super"
  },
  {
    "path": "plugins/code-push/script/types.js",
    "chars": 1,
    "preview": "\n"
  },
  {
    "path": "plugins/code-push/test/acquisition-rest-mock.js",
    "chars": 4197,
    "preview": "/// <reference path=\"../definitions/harness.d.ts\" />\nvar querystring = require(\"querystring\");\nvar acquisitionSdk = requ"
  },
  {
    "path": "plugins/code-push/test/acquisition-sdk.js",
    "chars": 8909,
    "preview": "/// <reference path=\"../definitions/harness.d.ts\" />\nvar assert = require(\"assert\");\nvar acquisitionSdk = require(\"../sc"
  },
  {
    "path": "plugins/code-push/test/management-sdk.js",
    "chars": 13812,
    "preview": "/// <reference path=\"../definitions/harness.d.ts\" />\nvar assert = require(\"assert\");\nvar Q = require(\"q\");\nvar AccountMa"
  },
  {
    "path": "plugins/code-push/test/superagent-mock-config.js",
    "chars": 1614,
    "preview": "// ./superagent-mock-config.js file\nmodule.exports = [\n  {\n      pattern: 'http://localhost/(\\\\w+)/',\n\n      /**\n       "
  },
  {
    "path": "plugins/cordova-plugin-appavailability/README.md",
    "chars": 7665,
    "preview": "# AppAvailability for iOS and Android\n\n`Version 0.4.2`\n\nA Plugin for Apache Cordova and Adobe PhoneGap by [ohh2ahh](http"
  },
  {
    "path": "plugins/cordova-plugin-appavailability/package.json",
    "chars": 1023,
    "preview": "{\n  \"name\": \"cordova-plugin-appavailability\",\n  \"version\": \"0.4.2\",\n  \"description\": \"This plugin for Cordova and PhoneG"
  },
  {
    "path": "plugins/cordova-plugin-appavailability/plugin.xml",
    "chars": 1838,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<plugin xmlns=\"http://apache.org/cordova/ns/plugins/1.0\"\n        xmlns:android=\""
  },
  {
    "path": "plugins/cordova-plugin-appavailability/src/android/AppAvailability.java",
    "chars": 1467,
    "preview": "package com.ohh2ahh.appavailability;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaPlugin"
  },
  {
    "path": "plugins/cordova-plugin-appavailability/src/ios/AppAvailability.h",
    "chars": 128,
    "preview": "#import <Cordova/CDV.h>\n\n@interface AppAvailability : CDVPlugin\n\n- (void)checkAvailability:(CDVInvokedUrlCommand*)comman"
  },
  {
    "path": "plugins/cordova-plugin-appavailability/src/ios/AppAvailability.m",
    "chars": 680,
    "preview": "#import \"AppAvailability.h\"\n#import <Cordova/CDV.h>\n\n@implementation AppAvailability\n\n- (void)checkAvailability:(CDVInvo"
  },
  {
    "path": "plugins/cordova-plugin-appavailability/www/AppAvailability.js",
    "chars": 603,
    "preview": "var appAvailability = {\n    \n    check: function(urlScheme, successCallback, errorCallback) {\n        cordova.exec(\n    "
  },
  {
    "path": "plugins/cordova-plugin-code-push/CONTRIBUTING.md",
    "chars": 3963,
    "preview": "# Contributing\n\n## TypeScript\n\nAll the JS code in this plugin is compiled from TypeScript sources. Please do not submit "
  },
  {
    "path": "plugins/cordova-plugin-code-push/LICENSE.md",
    "chars": 1143,
    "preview": "Microsoft CodePush Plugin for Apache Cordova \n\nCopyright (c) Microsoft Corporation\n\nAll rights reserved. \n\nMIT License\n\n"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/codePush.js",
    "chars": 15103,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/codePushUtil.js",
    "chars": 1931,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/fileUtil.js",
    "chars": 11772,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/httpRequester.js",
    "chars": 2432,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/installMode.js",
    "chars": 856,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/localPackage.js",
    "chars": 19284,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/nativeAppInfo.js",
    "chars": 3452,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/package.js",
    "chars": 651,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/remotePackage.js",
    "chars": 4531,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/sdk.js",
    "chars": 4948,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/bin/www/syncStatus.js",
    "chars": 1277,
    "preview": "\n /******************************************************************************************** \n \t THIS FILE HAS BEEN C"
  },
  {
    "path": "plugins/cordova-plugin-code-push/package.json",
    "chars": 1154,
    "preview": "{\n  \"name\": \"cordova-plugin-code-push\",\n  \"version\": \"1.7.1-beta\",\n  \"description\": \"CodePush Plugin for Apache Cordova\""
  },
  {
    "path": "plugins/cordova-plugin-code-push/plugin.xml",
    "chars": 4874,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n    <plugin xmlns=\"http://apache.org/cordova/ns/plugins/1.0\" id=\"cordova-plugin-"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/advanced/README.md",
    "chars": 686,
    "preview": "# Cordova CodePush Sample App - Advanced\n\nThis is a sample application demonstrating a more advanced way you could integ"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/advanced/config.xml",
    "chars": 1687,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n    <widget id=\"io.cordova.hellocodepush.advanced\" version=\"1.5.0-beta\" xmlns=\"ht"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/advanced/www/css/index.css",
    "chars": 3719,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/advanced/www/index.html",
    "chars": 2625,
    "preview": "<!DOCTYPE html>\n<!--\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agre"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/advanced/www/js/index.js",
    "chars": 5855,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/basic/README.md",
    "chars": 844,
    "preview": "# Cordova CodePush Sample App - Basic\n\nThis is a sample application demonstrating the CodePush sync operation. This oper"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/basic/config.xml",
    "chars": 1681,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n    <widget id=\"io.cordova.hellocodepush.basic\" version=\"1.5.0-beta\" xmlns=\"http:"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/basic/www/css/index.css",
    "chars": 3719,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/basic/www/index.html",
    "chars": 2625,
    "preview": "<!DOCTYPE html>\n<!--\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agre"
  },
  {
    "path": "plugins/cordova-plugin-code-push/samples/basic/www/js/index.js",
    "chars": 4310,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/CodePush.java",
    "chars": 21143,
    "preview": "package com.microsoft.cordova;\n\nimport android.content.pm.PackageManager;\nimport android.os.AsyncTask;\n\nimport org.apach"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/CodePushPackageManager.java",
    "chars": 4275,
    "preview": "package com.microsoft.cordova;\n\nimport android.content.Context;\n\nimport org.json.JSONException;\n\nimport java.io.File;\nim"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/CodePushPackageMetadata.java",
    "chars": 3562,
    "preview": "package com.microsoft.cordova;\n\nimport org.json.JSONObject;\n\nimport java.io.File;\n\n/**\n * Model class for the CodePush m"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/CodePushPreferences.java",
    "chars": 7661,
    "preview": "package com.microsoft.cordova;\n\nimport android.content.Context;\nimport android.content.SharedPreferences;\n\nimport java.u"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/CodePushReportingManager.java",
    "chars": 2706,
    "preview": "package com.microsoft.cordova;\n\nimport org.apache.cordova.CordovaWebView;\n\nimport java.util.ArrayList;\nimport java.util."
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/InstallMode.java",
    "chars": 764,
    "preview": "package com.microsoft.cordova;\n\n/**\n * Defines the available InstallModes.\n */\npublic enum InstallMode {\n    IMMEDIATE(0"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/InstallOptions.java",
    "chars": 393,
    "preview": "package com.microsoft.cordova;\n\n/**\n * Defines the update installation options.\n */\npublic class InstallOptions {\n    pu"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/UpdateHashUtils.java",
    "chars": 2870,
    "preview": "package com.microsoft.cordova;\n\nimport android.app.Activity;\nimport android.content.res.AssetManager;\n\nimport org.json.J"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/Utilities.java",
    "chars": 2387,
    "preview": "package com.microsoft.cordova;\n\nimport android.content.Context;\nimport android.content.pm.ApplicationInfo;\nimport androi"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/android/build-extras.gradle",
    "chars": 2171,
    "preview": "// Needed to speed up asset listing: refer to https://github.com/apache/cordova-plugin-file/blob/76c8fd5e43598ea660c2db6"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePush.h",
    "chars": 695,
    "preview": "#import <Cordova/CDV.h>\n\n@interface CodePush : CDVPlugin\n\n- (void)getServerURL:(CDVInvokedUrlCommand*)command;\n- (void)g"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePush.m",
    "chars": 16666,
    "preview": "#import <Cordova/CDV.h>\n#import <Cordova/CDVConfigParser.h>\n#import \"CodePush.h\"\n#import \"CodePushPackageMetadata.h\"\n#im"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushPackageManager.h",
    "chars": 693,
    "preview": "#import \"CodePushPackageMetadata.h\"\n#import \"InstallOptions.h\"\n\n@interface CodePushPackageManager : NSObject\n\n+ (void)cl"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushPackageManager.m",
    "chars": 8250,
    "preview": "#import \"CodePushPackageManager.h\"\n#import \"CodePushPackageMetadata.h\"\n#import \"InstallOptions.h\"\n\n@implementation CodeP"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushPackageMetadata.h",
    "chars": 418,
    "preview": "@interface CodePushPackageMetadata : NSObject\n\n@property NSString* deploymentKey;\n@property NSString* packageDescription"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushPackageMetadata.m",
    "chars": 1247,
    "preview": "#import \"CodePushPackageMetadata.h\"\n\n@implementation CodePushPackageMetadata\n\n+ (CodePushPackageMetadata*)parsePackageMa"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushReportingManager.h",
    "chars": 339,
    "preview": "enum {\n    STORE_VERSION = 0,\n    UPDATE_CONFIRMED = 1,\n    UPDATE_ROLLED_BACK = 2\n};\ntypedef NSInteger ReportingStatus;"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/CodePushReportingManager.m",
    "chars": 2891,
    "preview": "#import \"CodePushReportingManager.h\"\n\n@implementation CodePushReportingManager\n\nconst NSString* LastVersionPreference = "
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/InstallMode.h",
    "chars": 109,
    "preview": "enum {\n    IMMEDIATE = 0,\n    ON_NEXT_RESTART = 1,\n    ON_NEXT_RESUME = 2\n};\ntypedef NSInteger InstallMode;\n\n"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/InstallOptions.h",
    "chars": 226,
    "preview": "#include \"InstallMode.h\"\n\n@interface InstallOptions : NSObject\n\n@property InstallMode installMode;\n@property int minimum"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/InstallOptions.m",
    "chars": 631,
    "preview": "#include \"InstallOptions.h\"\n\n@implementation InstallOptions\n\nNSString* const InstallModeKey = @\"installMode\";\nNSString* "
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/UpdateHashUtils.h",
    "chars": 89,
    "preview": "@interface UpdateHashUtils : NSObject\n\n+ (NSString*)getBinaryHash:(NSError**)error;\n\n@end"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/UpdateHashUtils.m",
    "chars": 3552,
    "preview": "#import <CommonCrypto/CommonDigest.h>\n#import \"UpdateHashUtils.h\"\n\n@implementation UpdateHashUtils : NSObject\n\n+ (NSStri"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/Utilities.h",
    "chars": 112,
    "preview": "@interface Utilities : NSObject\n\n+ (NSString*)getApplicationTimestamp;\n+ (NSDate*)getApplicationBuildTime;\n\n@end"
  },
  {
    "path": "plugins/cordova-plugin-code-push/src/ios/Utilities.m",
    "chars": 674,
    "preview": "#import \"Utilities.h\"\n\n@implementation Utilities\n\n+ (NSString*)getApplicationTimestamp{\n    NSDate* applicationBuildTime"
  },
  {
    "path": "plugins/cordova-plugin-compat/README.md",
    "chars": 929,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-compat/package.json",
    "chars": 861,
    "preview": "{\n    \"name\": \"cordova-plugin-compat\",\n    \"description\": \"This repo is for remaining backwards compatible with previous"
  },
  {
    "path": "plugins/cordova-plugin-compat/plugin.xml",
    "chars": 1371,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more cont"
  },
  {
    "path": "plugins/cordova-plugin-compat/src/android/PermissionHelper.java",
    "chars": 7542,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  },
  {
    "path": "plugins/cordova-plugin-device/CONTRIBUTING.md",
    "chars": 1401,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-device/LICENSE",
    "chars": 11357,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "plugins/cordova-plugin-device/NOTICE",
    "chars": 163,
    "preview": "Apache Cordova\nCopyright 2012 The Apache Software Foundation\n\nThis product includes software developed at\nThe Apache Sof"
  },
  {
    "path": "plugins/cordova-plugin-device/README.md",
    "chars": 8606,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/RELEASENOTES.md",
    "chars": 7347,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/de/README.md",
    "chars": 6953,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/de/index.md",
    "chars": 6753,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/es/README.md",
    "chars": 6957,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/es/index.md",
    "chars": 6820,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/fr/README.md",
    "chars": 7220,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/fr/index.md",
    "chars": 7028,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/it/README.md",
    "chars": 6963,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/it/index.md",
    "chars": 6763,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/ja/README.md",
    "chars": 5429,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/ja/index.md",
    "chars": 5229,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/ko/README.md",
    "chars": 5330,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/ko/index.md",
    "chars": 5130,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/pl/README.md",
    "chars": 6743,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/pl/index.md",
    "chars": 6550,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/ru/index.md",
    "chars": 6824,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/zh/README.md",
    "chars": 4947,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-device/doc/zh/index.md",
    "chars": 4733,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-device/package.json",
    "chars": 1182,
    "preview": "{\n  \"name\": \"cordova-plugin-device\",\n  \"version\": \"1.1.2\",\n  \"description\": \"Cordova Device Plugin\",\n  \"cordova\": {\n    "
  },
  {
    "path": "plugins/cordova-plugin-device/plugin.xml",
    "chars": 5888,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "plugins/cordova-plugin-device/src/android/Device.java",
    "chars": 5362,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  },
  {
    "path": "plugins/cordova-plugin-device/src/blackberry10/index.js",
    "chars": 2362,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/browser/DeviceProxy.js",
    "chars": 2622,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/firefoxos/DeviceProxy.js",
    "chars": 2437,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/ios/CDVDevice.h",
    "chars": 957,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-device/src/ios/CDVDevice.m",
    "chars": 3209,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-device/src/osx/CDVDevice.h",
    "chars": 932,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-device/src/osx/CDVDevice.m",
    "chars": 3784,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-device/src/tizen/DeviceProxy.js",
    "chars": 1255,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/ubuntu/device.cpp",
    "chars": 1918,
    "preview": "/*\n *  Copyright 2011 Wolfgang Koller - http://www.gofg.at/\n *\n *  Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "plugins/cordova-plugin-device/src/ubuntu/device.h",
    "chars": 1138,
    "preview": "/*\n *  Copyright 2011 Wolfgang Koller - http://www.gofg.at/\n *\n *  Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "plugins/cordova-plugin-device/src/ubuntu/device.js",
    "chars": 1223,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/windows/DeviceProxy.js",
    "chars": 4449,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/src/wp/Device.cs",
    "chars": 3031,
    "preview": "/*  \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compli"
  },
  {
    "path": "plugins/cordova-plugin-device/tests/plugin.xml",
    "chars": 1214,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "plugins/cordova-plugin-device/tests/tests.js",
    "chars": 4209,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-device/www/device.js",
    "chars": 2973,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/CONTRIBUTING.md",
    "chars": 1401,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/LICENSE",
    "chars": 11357,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/NOTICE",
    "chars": 163,
    "preview": "Apache Cordova\nCopyright 2012 The Apache Software Foundation\n\nThis product includes software developed at\nThe Apache Sof"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/README.md",
    "chars": 8681,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/RELEASENOTES.md",
    "chars": 9901,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/de/README.md",
    "chars": 9057,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/de/index.md",
    "chars": 8843,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/es/README.md",
    "chars": 9073,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/es/index.md",
    "chars": 8591,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/fr/README.md",
    "chars": 8975,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/fr/index.md",
    "chars": 8751,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/it/README.md",
    "chars": 9154,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/it/index.md",
    "chars": 8942,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/ja/README.md",
    "chars": 6855,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/ja/index.md",
    "chars": 6643,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/ko/README.md",
    "chars": 6732,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/ko/index.md",
    "chars": 6518,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/pl/README.md",
    "chars": 8928,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/pl/index.md",
    "chars": 8712,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/ru/index.md",
    "chars": 7842,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/zh/README.md",
    "chars": 6209,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/doc/zh/index.md",
    "chars": 5991,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/package.json",
    "chars": 1129,
    "preview": "{\n  \"name\": \"cordova-plugin-dialogs\",\n  \"version\": \"1.2.1\",\n  \"description\": \"Cordova Notification Plugin\",\n  \"cordova\":"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/plugin.xml",
    "chars": 6568,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/android/Notification.java",
    "chars": 22413,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/blackberry10/index.js",
    "chars": 2944,
    "preview": "/*\n* Copyright 2013 Research In Motion Limited.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* yo"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/firefoxos/notification.js",
    "chars": 5438,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/ios/CDVNotification.h",
    "chars": 1257,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/ios/CDVNotification.m",
    "chars": 9359,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/ubuntu/notification.cpp",
    "chars": 3197,
    "preview": "/*\n *\n *  Licensed under the Apache License, Version 2.0 (the \"License\");\n *  you may not use this file except in compli"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/ubuntu/notification.h",
    "chars": 1981,
    "preview": "/*\n *\n *  Licensed under the Apache License, Version 2.0 (the \"License\");\n *  you may not use this file except in compli"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/ubuntu/notification.qml",
    "chars": 2012,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/windows/NotificationProxy.js",
    "chars": 7913,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/wp/Notification.cs",
    "chars": 17441,
    "preview": "/*  \n\tLicensed under the Apache License, Version 2.0 (the \"License\");\n\tyou may not use this file except in compliance w"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/wp/NotificationBox.xaml",
    "chars": 3372,
    "preview": "<!--\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTI"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/src/wp/NotificationBox.xaml.cs",
    "chars": 1270,
    "preview": "/*\n Licensed to the Apache Software Foundation (ASF) under one\n or more contributor license agreements.  See the NOTICE"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/tests/plugin.xml",
    "chars": 1105,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "plugins/cordova-plugin-dialogs/tests/tests.js",
    "chars": 8692,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/www/android/notification.js",
    "chars": 2252,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/www/blackberry10/beep.js",
    "chars": 1434,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/www/browser/notification.js",
    "chars": 3649,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/www/firefoxos/notification.css",
    "chars": 5627,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-dialogs/www/notification.js",
    "chars": 5282,
    "preview": "/*\n *\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the "
  },
  {
    "path": "plugins/cordova-plugin-file/CONTRIBUTING.md",
    "chars": 1401,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-file/LICENSE",
    "chars": 11357,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "plugins/cordova-plugin-file/NOTICE",
    "chars": 163,
    "preview": "Apache Cordova\nCopyright 2012 The Apache Software Foundation\n\nThis product includes software developed at\nThe Apache Sof"
  },
  {
    "path": "plugins/cordova-plugin-file/README.md",
    "chars": 32092,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/RELEASENOTES.md",
    "chars": 33699,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/de/README.md",
    "chars": 28126,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/de/index.md",
    "chars": 27392,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/de/plugins.md",
    "chars": 6229,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/es/README.md",
    "chars": 28944,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/es/index.md",
    "chars": 28400,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/es/plugins.md",
    "chars": 6140,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/fr/README.md",
    "chars": 29575,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/fr/index.md",
    "chars": 28870,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/fr/plugins.md",
    "chars": 6388,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/it/README.md",
    "chars": 28512,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/it/index.md",
    "chars": 27817,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/it/plugins.md",
    "chars": 6241,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ja/README.md",
    "chars": 19957,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ja/index.md",
    "chars": 19225,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ja/plugins.md",
    "chars": 4380,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ko/README.md",
    "chars": 19318,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ko/index.md",
    "chars": 18536,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ko/plugins.md",
    "chars": 4218,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/pl/README.md",
    "chars": 27062,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/pl/index.md",
    "chars": 26487,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/pl/plugins.md",
    "chars": 5884,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/plugins.md",
    "chars": 5826,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ru/index.md",
    "chars": 19851,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/ru/plugins.md",
    "chars": 5986,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/zh/README.md",
    "chars": 16743,
    "preview": "<!--\n# license: Licensed to the Apache Software Foundation (ASF) under one\n#         or more contributor license agreeme"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/zh/index.md",
    "chars": 15942,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/doc/zh/plugins.md",
    "chars": 3873,
    "preview": "<!---\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See th"
  },
  {
    "path": "plugins/cordova-plugin-file/package.json",
    "chars": 1096,
    "preview": "{\n  \"name\": \"cordova-plugin-file\",\n  \"version\": \"4.2.0\",\n  \"description\": \"Cordova File Plugin\",\n  \"cordova\": {\n    \"id\""
  },
  {
    "path": "plugins/cordova-plugin-file/plugin.xml",
    "chars": 17735,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contr"
  },
  {
    "path": "plugins/cordova-plugin-file/src/android/AssetFilesystem.java",
    "chars": 10640,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  },
  {
    "path": "plugins/cordova-plugin-file/src/android/ContentFilesystem.java",
    "chars": 7968,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  },
  {
    "path": "plugins/cordova-plugin-file/src/android/DirectoryManager.java",
    "chars": 4086,
    "preview": "/*\n       Licensed to the Apache Software Foundation (ASF) under one\n       or more contributor license agreements.  See"
  }
]

// ... and 901 more files (download for full content)

About this extraction

This page contains the full source code of the Thinkmill/reacteu-app GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1101 files (7.0 MB), approximately 1.9M tokens, and a symbol index with 3481 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!